|
06-18-2015, 04:21 AM
|
#481
|
Mortal
Join Date: Dec 2008
Location: France
Posts: 1,969
|
VST3 factory presets
I was investigating a REAPER bug report about VST3 factory presets which turned out to be an IPlug bug when VST3_PRESET_LIST is #define'd...
The "preset" param (Vst::ParameterInfo::kIsProgramChange) isn't properly updated when tweaking the preset dropdown box, or a related TCP/MCP fx knob, or when running it as an automation envelope, etc: IPlugs seem stuck on the first factory preset.
There is a couple of other minor issues too, like preset names not displayed in generic UI mode.
I've pushed a branch vst3_factory_presets which should fix those issues, feel free to cherry-pick/edit/ignore!
TBH, I didn't spend much time on it and I've only tested it in REAPER but from this this article for ex., I think this should be OK for other hosts too (it's ~ what REAPER does too, except notifyProgramListChange is kNotImplemented).
ps: sticking the thread!
|
|
|
06-18-2015, 07:22 AM
|
#482
|
Human being with feelings
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
|
thanks for sticking the thread and for the patch :-)
It was a long time ago and i'm having trouble remembering why I commented some of that stuff with the VST3 program change parameter, but i think it was causing me some issues. I will check with your version when I have time.
|
|
|
06-20-2015, 07:32 PM
|
#483
|
Human being with feelings
Join Date: May 2015
Location: France
Posts: 9
|
Quote:
Originally Posted by olilarkin
I have moved the master branch to VS2013
|
Hi,
I have followed the instructions in the video and on this blog :
http://www.martin-finke.de/blog/arti...ing-up-wdl-ol/
I have tried to build my duplicated version of IplugEffect in Visual Studio Community, but it failed.
I have a basic knowledge in C and DSP, and I am learning C++. I know nothing about Visual Studio that I have just installed today. VS community is assumed to be based on VS2013, so I should not have any problem to compile no ? Or should I install VS2010 ? or VS2013 express ? :/
I have just downloaded wdl-ol today with git, so I should have the latest release.
Last edited by Tchandra; 06-20-2015 at 07:43 PM.
|
|
|
06-20-2015, 09:39 PM
|
#484
|
Human being with feelings
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
|
Use visual studio 2013, that is what the current projects are set up for
|
|
|
06-21-2015, 07:48 AM
|
#485
|
Human being with feelings
Join Date: May 2015
Location: France
Posts: 9
|
Thank you for your quick response
I have uninstalled visual studio community (which was actually the last version - 2015) and I have installed visual studio community 2013. I managed to build the vst2 and opened the dll in reaper, but the vst3 failed, as well the stand-alone build (2 succeded, 1 failed - with VS2015 I got 3 failed)...
I don't think I will go on using wdl-ol, it does not seem to be mature enough for a beginner like me, certainly with a little bit of configuration it may work fine but I just don't know what to do. Thanks for your help, though.
Last edited by Tchandra; 06-21-2015 at 08:09 AM.
|
|
|
06-21-2015, 11:39 AM
|
#486
|
Human being with feelings
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
|
sounds like you're giving up too quickly to me. Although there isn't a huge amount of documentation, IPlug is probably the easiest way into developing plugins with C++. It is certainly mature enough.
|
|
|
06-21-2015, 12:20 PM
|
#487
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
Quote:
Originally Posted by olilarkin
sounds like you're giving up too quickly to me. Although there isn't a huge amount of documentation, IPlug is probably the easiest way into developing plugins with C++. It is certainly mature enough.
|
I totally agree, I was gonna say that but felt too dispirited by the quick abandon to post it. This is about as simple as it gets to get working, you have little to do besides extract the zip, put your SDKs where you need then clone one of the examples.
As for the documentation you have many examples plus you can look directly at the source of anything, it gives you a good idea what it does. I've been using it to make commercial plugins for 3½ years by the way, and I can tell you that even back in 2011 it was mature enough.
|
|
|
06-21-2015, 01:14 PM
|
#488
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,653
|
Quote:
Originally Posted by Tchandra
I don't think I will go on using wdl-ol, it does not seem to be mature enough for a beginner like me, certainly with a little bit of configuration it may work fine but I just don't know what to do.
|
Well, to each their own, I guess. But DSP plug-in development isn't for the fainthearted to begin with, so if this is already a showstopper for you, then maybe it just isn't for you...
|
|
|
06-22-2015, 02:29 PM
|
#489
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by olilarkin
IPlug is probably the easiest way into developing plugins with C++. It is certainly mature enough.
|
Actually RackAFX is the easiest way to build the plugins with C++, but it is too limited...
|
|
|
06-22-2015, 02:48 PM
|
#490
|
Human being with feelings
Join Date: Sep 2009
Posts: 623
|
Quote:
Originally Posted by olilarkin
IPlug is probably the easiest way into developing plugins with C++. It is certainly mature enough.
|
I definitely agree with this. IPlug has saved me tens of thousands of hours on development (or maybe it has caused me tens of thousands of hours because if it didn't exist, I'd have quit after a couple days).
It definitely took a while to get off the ground and figure my way around it, but now that I'm over that learning curve, it's an amazing tool. I just want to publicly profess my love for everyone who works on this stuff. Such a great resource.
|
|
|
06-24-2015, 11:24 AM
|
#491
|
Human being with feelings
Join Date: Apr 2009
Posts: 191
|
presets do not work in AAX, work in vst, au, etc but not in aax, I'm doing something wrong?
knumprograms = 3
Code:
MakePreset("Init", 0);
MakePreset("preset x", ...);
MakePreset("preset y", ...);
MakeDefaultPreset((char *) "Init", 0);
WDL-OL next
|
|
|
07-11-2015, 01:46 AM
|
#492
|
Human being with feelings
Join Date: Jun 2014
Location: Oxford UK
Posts: 27
|
Hi,
I've also updated to the last commit on github, compatible with C++11, thanks!
I encountered an issue in IsInChannelConnected, it seems it always returns true in VSTHost and Sonar (plugin compiled as a VST2 plugin).
As per the code, the call is made inside the ProcessDoubleReplacing call, but it doesn't work for m (I have more or less low noise, around 10e-11, on these channels).
https://github.com/mbrucher/ATK-plug...essor.cpp#L211
Is there so,ething that needs to be set up, other that 2-2 4-2 for the channel configuration?
|
|
|
07-13-2015, 08:07 AM
|
#493
|
Human being with feelings
Join Date: Apr 2014
Posts: 84
|
Unable to start program
Hi guys. I'd appreciate some help on the following issue.
I had a working VS 2010 project on Win 7 machine. Dll was built without errors, copied to VST folder and launched in savihost.
Then I've updated to VS 2013 Community. Everything still worked fine.
On another Win 8.1 machine with freshly installed VS 13 the same project was imported, built fine and files were copied with admin rights granted to VS. After this, however, I constantly got an error "Unable to start program C:/.../MyPlugin.dll" for VST 2 x86 and x64 projects. I went through the project settings for different targets and found out that they do not match the old ones on the first machine. Fixed it, but still got this:
Unable to start program "C:\Program Files\vsthost\savihost.exe"
This application has failed to start because the application is incorrect. Review the manifest file for possible errors. Reinstalling the application may fix this problem. For more details, please see the application event log.
The funny thing is that if $(TargetPath) is deleted from command arguments in project settings and .dll location is set manually in an appearing prompt window after the build savihost loads fine with my plugin. The same problem with example projects from WDL-OL distributive.
Then I've checked and manually edited .props and .vcxproj files, same result.
What am I missing?
Last edited by 1eqinfinity; 07-13-2015 at 09:03 AM.
|
|
|
07-22-2015, 04:20 PM
|
#494
|
Human being with feelings
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
|
i've pushed a branch that includes a python script select_host.py to choose which windows VST2 and VST3 host you use to debug.
https://github.com/olilarkin/wdl-ol/commits/select_host
It might fix your issue. Requires a re-duplication of an example project
|
|
|
07-22-2015, 04:27 PM
|
#495
|
Human being with feelings
Join Date: Jul 2006
Location: Cowtown
Posts: 1,562
|
Quote:
Originally Posted by pylorca
presets do not work in AAX, work in vst, au, etc but not in aax, I'm doing something wrong?
knumprograms = 3
Code:
MakePreset("Init", 0);
MakePreset("preset x", ...);
MakePreset("preset y", ...);
MakeDefaultPreset((char *) "Init", 0);
WDL-OL next
|
AAX and RTAS don't really have the concept of built-in presets as part of the executable. You need to actually save preset files and build them into your plugin bundle or installer - When Pro Tools first scans the plugin it will extract the presets and put copies of them in the appropriate user folder.
TL;DR - it's doing what it's supposed to.
|
|
|
07-23-2015, 08:27 AM
|
#496
|
Human being with feelings
Join Date: Apr 2014
Posts: 84
|
[RESOLVED] Unable to start program
Quote:
Originally Posted by olilarkin
|
Thanks Oli, it did fix my issue
I used select_host.py, then duplicate.py with an example project and replaced/added my .cpp, .h and .rc files from a backup.
However, there appeared to be another triviality: savihost x64 requires Microsoft Visual C++ 2008 SP1 Redistributable Package (x64) to run, as mentioned on savihost webpage.
https://www.microsoft.com/en-us/down...n.aspx?id=2092
Btw, after a successfull duplicate.py run it prints out a message with PLUG_UID, MFR_UID and config.h, that'd be nice to update it to PLUG_UNIQUE_ID, MFR_URL and resource.h respectively.
Also, contents of tags <string key="NSTitle"> and <string key="IBDocument.LastKnownRelativeProjectPath"> in MainMenu.xib were not updated and had example project names in it. But maybe it'd change after some debug session, I don't know. Just saying that in case it's a bug.
Last edited by 1eqinfinity; 07-23-2015 at 08:54 AM.
Reason: add
|
|
|
07-28-2015, 01:29 AM
|
#497
|
Human being with feelings
Join Date: Jun 2015
Location: Los Angeles, CA
Posts: 8
|
FPS question
Hey dear experts
I understand that I can set the FPS parameter of MakeGraphics() to X and seems the IGraphicsWin::WndProc() timer sets it correctly.
But I'm on Win7 and I had a feeling the GUI refresh is slower than the FPS I set up. So overrided setclean in my own IControl derived class and made a counter to check how frequently the Draw method was called:
void SetClean() {
mDirty = true;// mRedraw;
mRedraw = false;
}
...and what turned out my Control's Draw was called less than the FPS (about 2/3 of the FPS):
MakeGraphics() 30 FPS >> real FPS 21
MakeGraphics() 60 FPS >> real FPS 37-39
MakeGraphics() 100 FPS >> real FPS 60-62
MakeGraphics() 200 FPS >> real FPS 60-62
Though the original FPS and the result are related the numbers are not the same.
I understand the 60 fps should be some upper limit (I guess windows is syncing drawing to the GPU max freq), but still interesting why the real FPS approaches 60 only if the MakeGraphics FPS and IGraphicsWin::WndProc() timer is far faster (100)...
Certainly I can live with it and set up a shorter timer to bump the FPS althought not sure what will happen on OSX then and also it seems some strange patch...
Is it me missing something how windows handles GUI ReDraw?
Thanx in advance,
Kevin
|
|
|
08-07-2015, 03:04 AM
|
#498
|
Human being with feelings
Join Date: Sep 2014
Posts: 17
|
How to use the right mouse button in VST3?
My VST2 plug-in heavily relies on the usage of the right mouse button, however, it seems that the VST3 version doesn't allow me to use the right mouse button. The following example code works in VST2, but it doesn't work in VST3 (no beeps). Is it possible to solve this problem?
Code:
class IMyControl : public IControl
{
public:
IMyControl(IPlugBase *pPlug, IRECT pR, int paramIdx)
: IControl(pPlug, pR, paramIdx){}
~IMyControl() {}
bool Draw(IGraphics* pGraphics)
{
// some stuff
return true;
}
void OnMouseDown(int x, int y, IMouseMod* pMod)
{
if (pMod->R) //right mouse button
{
Beep(1000,300);
}
}
void OnMouseDrag(int x, int y, int dX, int dY, IMouseMod* pMod)
{
if (pMod->R) //right mouse button
{
Beep(1000,300);
}
}
};
|
|
|
08-07-2015, 03:37 AM
|
#499
|
Human being with feelings
Join Date: May 2012
Location: PA, USA
Posts: 356
|
Quote:
Originally Posted by www
My VST2 plug-in heavily relies on the usage of the right mouse button, however, it seems that the VST3 version doesn't allow me to use the right mouse button. The following example code works in VST2, but it doesn't work in VST3 (no beeps). Is it possible to solve this problem?
|
Most of this is dependent on the host program. If I remember correctly, Cubase doesn't pass any right-clicks to the plugin. Each host is different.
You could always continue to use the right-click, but make an additional option. So, you could have the left-click + shift do the same thing (or alt, or control, etc.).
|
|
|
08-07-2015, 04:58 AM
|
#500
|
Human being with feelings
Join Date: Sep 2014
Posts: 17
|
Quote:
Originally Posted by random_id
Most of this is dependent on the host program. If I remember correctly, Cubase doesn't pass any right-clicks to the plugin. Each host is different.
You could always continue to use the right-click, but make an additional option. So, you could have the left-click + shift do the same thing (or alt, or control, etc.).
|
I've just tested this code with Cubase 5.1.1, Sonar X3 and Reaper 5.0rc13. All these hosts support the right button in the VST2 version of the plug-in, however, the VST3 version doesn't work with all these hosts.
It seems that this problem is not dependent on the host program.
|
|
|
08-07-2015, 05:29 AM
|
#501
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,653
|
Actually here right-click/drag works fine here with VST3 in REAPER, but only on controls that don't have a parameter associated with them (i.e. paramIdx == -1). If I right-click on a control with a parameter, then both REAPER and VSTHost show me a parameter context menu.
|
|
|
08-07-2015, 06:06 AM
|
#502
|
Human being with feelings
Join Date: May 2012
Location: PA, USA
Posts: 356
|
I tested some more hosts. In Studio One (2), VST right-click works fine. VST3 brings up some automation thing for each control. In Sonar, VST works fine, but right-click in VST3 does nothing. Both Bitwig and Orion work (VST).
|
|
|
08-09-2015, 01:27 AM
|
#503
|
Human being with feelings
Join Date: Sep 2014
Posts: 17
|
Quote:
Originally Posted by Tale
Actually here right-click/drag works fine here with VST3 in REAPER, but only on controls that don't have a parameter associated with them (i.e. paramIdx == -1). If I right-click on a control with a parameter, then both REAPER and VSTHost show me a parameter context menu.
|
Thank you for the idea. The right button works normally in my VST3 plug-in when paramIdx = -1. I successfully tested this method with Cubase, Reaper, Sonar, VSTHost. The problem is solved.
|
|
|
08-09-2015, 01:29 AM
|
#504
|
Human being with feelings
Join Date: Sep 2014
Posts: 17
|
Why IPlugChunks VST3 doesn't work with Reaper and VSTHost?
I need to use chunks in my VST3 plug-in. I've found out that the VST2 version of IPlugChunks works perfectly with all hosts, however, the VST3 version doesn't work with Reaper and VSTHost (though it works with Cubase and Sonar). Reaper and VSTHost don't restore the contents of the chunk when I restart them. How can I solve this problem?
Both Reaper and VSTHost successfully work with Voxengo CurvEQ VST3. Consequently they are able to work with chunks. Why don't they work with IPlugChunks?
|
|
|
08-09-2015, 02:36 AM
|
#505
|
Mortal
Join Date: Dec 2008
Location: France
Posts: 1,969
|
Multichannel VST3 IPlugs (>2ch, I mean) show up as stereo plug-ins in REAPER 5 pre-releases. Is this supposed to work? Do such IPlugs report the proper nb of channels in other hosts? I'm asking just in case... This might well be a REAPER bug too, looking at this issue right now...
Personally, because of the above, what follows (much more annoying), and factory preset issues, I think VST3 support in WDL-OL should be considered as 'beta':
Quote:
Originally Posted by www
I need to use chunks in my VST3 plug-in. I've found out that the VST2 version of IPlugChunks works perfectly with all hosts, however, the VST3 version doesn't work with Reaper and VSTHost (though it works with Cubase and Sonar). Reaper and VSTHost don't restore the contents of the chunk when I restart them. How can I solve this problem?
Both Reaper and VSTHost successfully work with Voxengo CurvEQ VST3. Consequently they are able to work with chunks. Why don't they work with IPlugChunks?
|
Yeah, AFAICT, the related code is commented out at the moment (e.g. IPlugVST3::getState(IBStream*), IPlugVST3::setComponentState(IBStream*)) -- probably for good reasons though...
|
|
|
08-09-2015, 03:38 AM
|
#506
|
Human being with feelings
Join Date: Sep 2014
Posts: 17
|
Quote:
Originally Posted by Jeffos
Personally, because of the above, what follows (much more annoying), and factory preset issues, I think VST3 support in WDL-OL should be considered as 'beta'
|
I understand
|
|
|
08-09-2015, 01:15 PM
|
#507
|
Human being with feelings
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
|
if you must have right click for parameter linked controls in VST3, comment out this #ifdef block
https://github.com/olilarkin/wdl-ol/...phics.cpp#L866
personally i like the VST3-right click context menu. Can probably have a cleaner way of making this optional.
not really sure what the other VST3 issues are about. VST3 factory presets are limited because VST3 plugins aren't really meant to have factory presets.
BTW. I have extremely limited time to fix bugs at the moment, so please feel free to roll up your sleeves and try and fix any issues yourself, submitting pull requests on github, which i will hopefully find time to merge. That is what I had to do when I first found IPlug and how I learnt to use it.
EDIT - oops i realise JeffOs you have pushed a PR for factory presets. Will investigate merging when I get a chance, but i'd advise avoiding VST3 factory presets
Last edited by olilarkin; 08-09-2015 at 01:38 PM.
|
|
|
08-10-2015, 01:14 AM
|
#508
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,653
|
Quote:
Originally Posted by Jeffos
Yeah, AFAICT, the related code is commented out at the moment (e.g. IPlugVST3::getState(IBStream*), IPlugVST3::setComponentState(IBStream*)) -- probably for good reasons though...
|
FWIW, chunks seem to work fine at my end with VST3 (quickly tested in REAPER).
|
|
|
08-13-2015, 12:13 PM
|
#509
|
Human being with feelings
Join Date: Sep 2014
Posts: 17
|
Quote:
Originally Posted by Jeffos
Yeah, AFAICT, the related code is commented out at the moment (e.g. IPlugVST3::getState(IBStream*), IPlugVST3::setComponentState(IBStream*)) -- probably for good reasons though...
|
This method works with Reaper, but it doesn't work with VSTHost. VSTHost doesn't restore the state of the VST3 plug-in when I restart it. AFAIU the problem is not connected with chunks: IPlugEffect also doesn't restore its state in VSTHost. Of course, this might be a VSTHost bug too.
|
|
|
08-14-2015, 12:53 AM
|
#510
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,653
|
Quote:
Originally Posted by www
This method works with Reaper, but it doesn't work with VSTHost. VSTHost doesn't restore the state of the VST3 plug-in when I restart it. AFAIU the problem is not connected with chunks: IPlugEffect also doesn't restore its state in VSTHost. Of course, this might be a VSTHost bug too.
|
What are the steps to test this?
Meanwhile I have also (quickly) tested VST3 with PLUG_DOES_STATE_CHUNKS == 1 in Studio One, and there it also seems to work fine (i.e. I can read back a value I stored, and state loads back fine).
|
|
|
08-14-2015, 02:07 AM
|
#511
|
Human being with feelings
Join Date: Sep 2014
Posts: 17
|
Quote:
Originally Posted by Tale
What are the steps to test this?
|
- I downloaded vsthostx64.zip from http://www.hermannseib.com/english/vsthost.htm
- VSTHost settings: Check Performance > Autosave PlugIn Banks
- I selected x64 version of IPlugChunks.vst3 (or IPlugEffect.vst3) plug-in at File > New PlugIn
- I changed the settings of the plug-in and restarted VSTHost. The plug-in settings are not saved.
VSTHost saves plug-in settings when I test it with Voxengo CurvEQ VST3.
|
|
|
08-14-2015, 02:46 AM
|
#512
|
Mortal
Join Date: Dec 2008
Location: France
Posts: 1,969
|
Quote:
Originally Posted by olilarkin
EDIT - oops i realise JeffOs you have pushed a PR for factory presets. Will investigate merging when I get a chance
|
(Replied in private but replying here too, in case someone else is interested) Please wait before merging/using that branch, I have to review something first: it's ok in REAPER but TBProAudio has reported an issue vs Cubase, will check this out next week...
Quote:
Originally Posted by Jeffos
Multichannel VST3 IPlugs (>2ch, I mean) show up as stereo plug-ins in REAPER 5 pre-releases. Is this supposed to work? Do such IPlugs report the proper nb of channels in other hosts? I'm asking just in case... This might well be a REAPER bug too, looking at this issue right now...
|
Sorry for the false alarm guys!
In fact, there indeed are some issues in REAPER v5 regarding VST3 multi-channel support (and not only vs IPlugs). We should be able to fix those issues in future v5 versions.
For the record, it isn't said in the changelog but v5.01pre1 should improve things a tiny bit already (i.e. if the user adds a multichannel WDL-OL IPlug vst3 (master branch) on a track that has more channels than the said plugin, the user should have access to all its I/Os, at least -- track channel count changes aren't still supported though).
Quote:
Originally Posted by Tale
FWIW, chunks seem to work fine at my end with VST3 (quickly tested in REAPER).
|
Yes, I can confirm uncommenting these code bits will make chunks work in REAPER.
Can't tell for other hosts though...
|
|
|
08-14-2015, 03:22 AM
|
#513
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,653
|
Quote:
Originally Posted by www
- I downloaded vsthostx64.zip from http://www.hermannseib.com/english/vsthost.htm
- VSTHost settings: Check Performance > Autosave PlugIn Banks
- I selected x64 version of IPlugChunks.vst3 (or IPlugEffect.vst3) plug-in at File > New PlugIn
- I changed the settings of the plug-in and restarted VSTHost. The plug-in settings are not saved.
VSTHost saves plug-in settings when I test it with Voxengo CurvEQ VST3.
|
Thanks, and confirmed. Something weird is going on though, because it does seem to properly save state, and even load it back, but after that it gets reset to the defaults. Note that this is without uncommenting set/getState(), so apparently it is doing this via get/setEditorState().
Quote:
Originally Posted by Jeffos
Yes, I can confirm uncommenting these code bits will make chunks work in REAPER.
Can't tell for other hosts though...
|
I haven't uncommented anything yet. Studio One somehow manages to save/load state via get/setEditorState(). My VST3 knowledge is not very good, but I seem to recall something about having a single class that is both controller and processor. I can imagine that only get/setState() or get/setEditorState() should be called in that situation, not both, which might be why things appear to be working in Studio One.
|
|
|
08-14-2015, 03:54 AM
|
#514
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,653
|
I have now tested with only get/setState(), only get/setEditorState(), and with both. Studio One and VSTHost seem to work with any combination (although VSTHost still resets to defaults after loading state), but REAPER needs get/setState(), although it does also call get/setEditorState(), but only if you also implement get/setState().
I am about to release a beta version of a plug-in suite including VST3. I am leaning towards enabling both state and editor state, and then see what comes up from feedback from beta users.
|
|
|
08-14-2015, 04:46 AM
|
#515
|
Mortal
Join Date: Dec 2008
Location: France
Posts: 1,969
|
Interesting, thanks for sharing your findings Tale!
if only VST3 was better documented...
|
|
|
08-14-2015, 05:09 AM
|
#516
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,653
|
Quote:
Originally Posted by Jeffos
Interesting, thanks for sharing your findings Tale!
|
You're welcome. I guess it would be nice if REAPER would also support just get/setEditorState(), that is, if this doesn't break anything. However, I think I will patch my fork of WDL-OL to only do get/setState() and setComponentState() i.e. disable get/setEditorState(), because this seems to work with REAPER and Studio One, and hopefully other hosts.
Quote:
Originally Posted by Jeffos
if only VST3 was better documented...
|
Amen to that!
|
|
|
08-14-2015, 01:33 PM
|
#517
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,653
|
Quote:
Originally Posted by Tale
However, I think I will patch my fork of WDL-OL to only do get/setState() and setComponentState() i.e. disable get/setEditorState(), because this seems to work with REAPER and Studio One, and hopefully other hosts.
|
I ended up using get/setState() but without setComponentState(). Now lets hope that works.
|
|
|
08-20-2015, 07:25 AM
|
#518
|
Human being with feelings
Join Date: Jul 2015
Posts: 17
|
Hi Oli
Just a courteous shout out to say thanks for this framework, you've made getting in to audio programming easy and enjoyable experience. Keep up the good work ; )
|
|
|
08-25-2015, 01:55 PM
|
#519
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,653
|
Quote:
Originally Posted by Tale
I ended up using get/setState() but without setComponentState(). Now lets hope that works.
|
Maybe it's still a little early to tell, but this seems to work (i.e. no complaints so far).
|
|
|
08-30-2015, 01:15 AM
|
#520
|
Human being with feelings
Join Date: Feb 2015
Posts: 6
|
Small modification request
Hi Oli,
can you please declare the parameter 'str' as const for:
IGraphics:: DrawIText()
IGraphics::MeasureIText()
i.e.
IGraphics:: DrawIText(IText* pTxt, const char* str, IRECT* pR, bool measure)
IGraphics::MeasureIText(IText* pTxt, const char* str, IRECT* pR)
so one can pass string.c_str() as parameter when calling the methods? Otherwise the caller always needs to cast c_str() to non-const.
For the long-term, it would be nice to overwork IPlug to provide const-correctness, but I agree that this is a bunch of work...
Regards
Thorsten
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 04:31 PM.
|