COCKOS
CONFEDERATED FORUMS
Cockos : REAPER : NINJAM : Forums
Forum Home : Register : FAQ : Members List : Search :
Old 09-15-2015, 12:00 PM   #521
pylorca
Human being with feelings
 
Join Date: Apr 2009
Posts: 191
Default

Quote:
Originally Posted by Tale View Post
Maybe it's still a little early to tell, but this seems to work (i.e. no complaints so far).
Hi Tale!
Uncomenting get/setState works on reaper (mac)
Now have a doubt, I should change anything else? or comment get/setEditorState?
pylorca is offline   Reply With Quote
Old 09-16-2015, 03:16 AM   #522
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
Default

Quote:
Originally Posted by pylorca View Post
Uncomenting get/setState works on reaper (mac)
Now have a doubt, I should change anything else? or comment get/setEditorState?
I guess I should fork WDL-OL on GitHub, and push a bunch of patches there one of these days... Meanwhile, here is the VST3 state chunk patch:

http://www.taletn.com/wdl/IPlug-Fixe...-support.patch
Tale is offline   Reply With Quote
Old 09-16-2015, 09:02 AM   #523
pylorca
Human being with feelings
 
Join Date: Apr 2009
Posts: 191
Default

Thanks Tale!!!

Here a fix for gui resizing on VST3 (and AAX) https://github.com/olilarkin/wdl-ol/issues/46

For AAX I recomend to use AAXParams branch, and I've made some changes:
(I should create a repository)

To add quantization
IplugAAX.cpp IplugAAX::EffectInit
Code:
        int numSteps = ((p->GetMax() - p->GetMin()) / p->GetStep()) + 1;
        param->SetNumberOfSteps(numSteps);

        if (p->Type() == IParam::kTypeDouble)
        {
            param->SetType(AAX_eParameterType_Continuous);
        }
        else
        {
            param->SetType(AAX_eParameterType_Discrete);
        }
To fix display problems with automations
AAX_CIPlugDelegates.h:
Code:
template <typename T>
bool AAXWrapperDisplayDelegate<T>::ValueToString(T value, int32_t maxNumChars, AAX_CString* valueString) const
{
    char str[32];
    double v = roundf(value * 100000) / 100000; // 0.00001 precision
    mPlug->GetParam(mParamIdx)->GetDisplayForHost(v, false, str);

    if (CSTR_NOT_EMPTY(str))
    {
        valueString->Set(str);
        return true;
    }
    return false;    
}

roundf does not exists on VS, so you need to add this function:
Code:
#ifdef WIN32
inline float roundf(float x)
{
   return x >= 0.0f ? floorf(x + 0.5f) : ceilf(x - 0.5f);
}
#endif
I hope it helps someone
pylorca is offline   Reply With Quote
Old 09-26-2015, 04:56 AM   #524
antto
Human being with feelings
 
Join Date: Nov 2008
Posts: 108
Default

does the latest wdl-ol have a mechanism to reorder the params from plugin version to plugin version without breaking existing presets?

what should i do for some changes to be accepted?
or am i doing it wrong
antto is offline   Reply With Quote
Old 09-27-2015, 04:28 PM   #525
random_id
Human being with feelings
 
random_id's Avatar
 
Join Date: May 2012
Location: PA, USA
Posts: 356
Default

Quote:
Originally Posted by antto View Post
does the latest wdl-ol have a mechanism to reorder the params from plugin version to plugin version without breaking existing presets?

what should i do for some changes to be accepted?
or am i doing it wrong
I don't think anything exists. I think the current recommendation is to use chunks while overriding the SerializeState/UnserializeState. You can serialize the plugin version number first, before serializing the parameters of the plugin. Then when you unserialize, you can tell what the version of the plugin was saved. It is not pretty if you have to do some remapping.

The other thing I would recommend is to add parameters to the end of the list instead of somewhere in the middle.

It would be nice to create something that is more flexible. Maybe reading the names of the parameters or something else. Well, then maybe you need to change the name and it would still be a mess. I don't know...bytechunk an XML-type file?
__________________
Website: LVC-Audio
random_id is offline   Reply With Quote
Old 09-28-2015, 08:56 AM   #526
antto
Human being with feelings
 
Join Date: Nov 2008
Posts: 108
Default

i ask because i proposed such mechanism a year ago but nothing happened
paramUID.. requires a bunch of changes to IPlugBase, and only works if you use chunks
each param gets a unique ID, then you can reorder the actual params however you like, or rename them.. this also makes it possible to create hidden parameters which don't show in the DAW, yet they function as normal ones in your code (you get OnParamChange() with them..)

maybe the biggest downside of this is that it requires one more argument to be added to the IPlugBase constructor - for the number of hidden parameters
i have a monosynth with quite a bunch of params which uses this thing, and it's really nice to be able to load older presets during the developement process (frequently adding more params)

i guess i'm alone in my excitement about this sort of functionality, it looks like it won't be added (maybe there are some good reasons for that, which i don't see)
so i'm asking if it's reasonable to try and do it the other way - use the latest wdl-ol and somehow add all of my changes required to put this functionality on top.. and i'll have to do this whenever there's a newer version of wdl-ol..

my fork with these modifications is 1 year old.. i see wdl-ol has advanced quite a bunch since then and i would like to use the latest variant yet i don't want to completely lose the ability to have hidden params and paramUID..
antto is offline   Reply With Quote
Old 09-28-2015, 10:46 PM   #527
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
Default

Quote:
Originally Posted by antto View Post
use the latest wdl-ol and somehow add all of my changes required to put this functionality on top.. and i'll have to do this whenever there's a newer version of wdl-ol..
Git could (should) do this automagically for you when you merge in new changes from WDL-OL.
Tale is offline   Reply With Quote
Old 09-30-2015, 12:17 PM   #528
jack461
Human being with feelings
 
jack461's Avatar
 
Join Date: Nov 2013
Location: France
Posts: 181
Default Bug with min/max definitions in swell-types.h

Hi !

I work with Xcode 6.2 on Mac OS 10.9.

I have just upgraded to the last version of WDL-OL, and I have a lot of compilation errors (in the OS X 10.9 files "stl_algobase.h" and "limits") due to the conflicting definitions of min and max that have been introduced in "swell-types.h".

The compilation is correct if I comment out lines 111 to 114. I should preferably define "-DWDL_NO_DEFINE_MINMAX" in the gcc options, but being a complete noob with Xcode, I don't know how to do that (I have tried to add the symbol in DEBUG_DEFS or RELEASE_DEFS with no success).

Can somebody help me with that ? Many thanks...
jack461 is offline   Reply With Quote
Old 10-01-2015, 02:40 AM   #529
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
Default

Quote:
Originally Posted by jack461 View Post
I should preferably define "-DWDL_NO_DEFINE_MINMAX" in the gcc options, but being a complete noob with Xcode, I don't know how to do that (I have tried to add the symbol in DEBUG_DEFS or RELEASE_DEFS with no success).
I think Adding WDL_NO_DEFINE_MINMAX to RELEASE_DEFS and DEBUG_DEFS (and maybe TRACER_DEFS) in your project's .xcconfig file should work, i.e. this is where I have successfully added other global defines.
Tale is offline   Reply With Quote
Old 10-01-2015, 03:14 AM   #530
jack461
Human being with feelings
 
jack461's Avatar
 
Join Date: Nov 2013
Location: France
Posts: 181
Default

Tale, thanks once again for your reactivity. You are right.
I thought that defining WDL_NO_DEFINE_MINMAX for target All would be enough, but since I tested separately App, then VST2, I needed to add this symbol also for the other targets.
Many thanks.
J.Jack.
jack461 is offline   Reply With Quote
Old 10-01-2015, 05:44 AM   #531
jack461
Human being with feelings
 
jack461's Avatar
 
Join Date: Nov 2013
Location: France
Posts: 181
Default A minor change request in IRECT

Hi Oli !

I have been working a lot with various usages of IRECT, and I found the following method to be specially useful to "move" an IRECT :
Code:
void setTo(int l, int t, int r, int b)
    {
        L = l; T = t; R = r; B = b;
    }
Could you consider integrating it in the IRECT definition, in IPlugStruct.h ?
It should not break any code, neither penalize those who do not use it...
Regards.

J. Jack.
jack461 is offline   Reply With Quote
Old 10-01-2015, 04:05 PM   #532
olilarkin
Human being with feelings
 
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
Default

thanks for your contribution Jack. There is a whole bunch of stuff that I need to get around to merging but I just haven't had the time lately.

On another note, Endless Series seems to be working fine so far as an AU on Mac OSX 10.11. I thought it wouldn't work, after hearing so many devs had issues with their plugins, but so far so good.

oli
__________________
VirtualCZ | Endless Series | iPlug2 | Linkedin | Facebook
olilarkin is offline   Reply With Quote
Old 10-02-2015, 12:44 AM   #533
jack461
Human being with feelings
 
jack461's Avatar
 
Join Date: Nov 2013
Location: France
Posts: 181
Default

Thanks, Oli.

It's a very good news for all of us that WDL-OL is robust enough to work on OSX 10.11 !

Thanks again for all the work that you, and other developers, share with us.

Regards.

J. Jack.

Last edited by jack461; 10-02-2015 at 12:45 AM. Reason: typos
jack461 is offline   Reply With Quote
Old 10-04-2015, 01:25 AM   #534
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
Default

Quote:
Originally Posted by jack461 View Post
I have been working a lot with various usages of IRECT, and I found the following method to be specially useful to "move" an IRECT :
Code:
void setTo(int l, int t, int r, int b)
    {
        L = l; T = t; R = r; B = b;
    }
Could you consider integrating it in the IRECT definition, in IPlugStruct.h ?
It should not break any code, neither penalize those who do not use it...
I am not saying this shouldn't be added, but you could just set the IRECT member variables directly, i.e.:

Code:
MyRect.L = l;
MyRect.T = t; // etc.
Tale is offline   Reply With Quote
Old 10-04-2015, 01:26 AM   #535
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
Default

Quote:
Originally Posted by olilarkin View Post
On another note, Endless Series seems to be working fine so far as an AU on Mac OSX 10.11. I thought it wouldn't work, after hearing so many devs had issues with their plugins, but so far so good.
Good news!
Tale is offline   Reply With Quote
Old 10-04-2015, 12:04 PM   #536
jack461
Human being with feelings
 
jack461's Avatar
 
Join Date: Nov 2013
Location: France
Posts: 181
Default

Quote:
Originally Posted by Tale View Post
I am not saying this shouldn't be added, but you could just set the IRECT member variables directly, i.e.:

Code:
MyRect.L = l;
MyRect.T = t; // etc.
Sure you are right. Actually, I started coding like that. Then, as this was recurring, I used a macro, and finally decided that it was much cleaner to use an inline procedure -- hence my request.
jack461 is offline   Reply With Quote
Old 10-04-2015, 11:11 PM   #537
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
Default

Quote:
Originally Posted by jack461 View Post
Sure you are right. Actually, I started coding like that. Then, as this was recurring, I used a macro, and finally decided that it was much cleaner to use an inline procedure -- hence my request.
Fair enough.
Tale is offline   Reply With Quote
Old 10-07-2015, 02:00 PM   #538
ThorstenS
Human being with feelings
 
Join Date: Feb 2015
Posts: 6
Default VS 2015 incompatibility

Line 551 of app_dialog.cpp does not compile with VS 2015.

sprintf(version, BUNDLE_MFR"\nBuilt on "__DATE__);

The compiler thinks that __DATE__ is a decoration of the string literal.

If you insert a blank before, the compiler error is gone, i.e.:

sprintf(version, BUNDLE_MFR"\nBuilt on " __DATE__);
ThorstenS is offline   Reply With Quote
Old 10-10-2015, 01:22 AM   #539
antto
Human being with feelings
 
Join Date: Nov 2008
Posts: 108
Default

Quote:
Originally Posted by Tale View Post
Git could (should) do this automagically for you when you merge in new changes from WDL-OL.
can anyone explain how this can be done?
antto is offline   Reply With Quote
Old 10-11-2015, 03:31 AM   #540
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
Default

Quote:
Originally Posted by antto View Post
can anyone explain how this can be done?
Well, if you have set up WDL as a remote of your own repository, then you can fetch and merge (i.e. pull) changes from the remote, and Git will automatically try to fix any merge conflicts where possible. You will find some info on how to set things up this way here:

http://www.taletn.com/wdl/#wdl
Tale is offline   Reply With Quote
Old 10-20-2015, 10:10 AM   #541
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

Pretty new to this all...

I've just set up WDL-OL but now run into a problem trying to run the duplicate.py script.

I get this error



Could it be because I use Python33 instead of Python2.x or any other idea what's wrong here ?

Thanks.

(Win 8.1 x64)
nofish is offline   Reply With Quote
Old 10-20-2015, 10:20 AM   #542
bozmillar
Human being with feelings
 
bozmillar's Avatar
 
Join Date: Sep 2009
Posts: 623
Default

Quote:
Originally Posted by nofish View Post
Could it be because I use Python33 instead of Python2.x or any other idea what's wrong here ?
That's probably a good possibility. It's been a while since I've set mine up, but I remember I had to get the correct version of python to get it to run.
__________________
http://www.bozdigitallabs.com
bozmillar is offline   Reply With Quote
Old 10-20-2015, 10:37 AM   #543
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

Thanks, I'll try Python2.x then.

And a follow-up question...

edit: see below post

Probably last question for now:
(How) can I build x64 Win VST versions with it ?

And a big thanks to Oli and Cockos, this is really nice for getting into making plugins.

Last edited by nofish; 10-21-2015 at 09:34 AM.
nofish is offline   Reply With Quote
Old 10-20-2015, 01:36 PM   #544
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
Default

Quote:
Originally Posted by nofish View Post
Probably last question for now:
(How) can I build x64 Win VST versions with it ?
Yes, you can. You just select x64 somewhere (I'm not behind Windows ATM, so I can't tell you the exactly where).
Tale is offline   Reply With Quote
Old 10-20-2015, 02:59 PM   #545
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

Thanks.
Found it, in VS: BUILD -> Configuration manager

Worked.
nofish is offline   Reply With Quote
Old 10-21-2015, 09:33 AM   #546
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

Hm..think I spoke too soon...

I'm getting the errors again when trying to build VST3 versions (I've tried IPlugEffect and IPlugDistortion, same thing).
Standalone and VST2 builds work fine.

Here are the errors I get:


Any ideas ?
nofish is offline   Reply With Quote
Old 10-21-2015, 02:13 PM   #547
random_id
Human being with feelings
 
random_id's Avatar
 
Join Date: May 2012
Location: PA, USA
Posts: 356
Default

I think the issue is with the STR16.
I am sure there is a more eloquent way of dealing with it, but I replaced all of the STR16 with Steinberg::ConstStringTable::instance()->getString (this is defined in fstrdefs.h). There are several reference in the IPlugVST3.cpp file, but it worked for me.
__________________
Website: LVC-Audio
random_id is offline   Reply With Quote
Old 10-21-2015, 02:28 PM   #548
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

Thanks.
So are you saying you had the same issue ? Just asking, so I know it's not just me.
nofish is offline   Reply With Quote
Old 10-22-2015, 05:15 AM   #549
olilarkin
Human being with feelings
 
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
Default

this might be something to do with the very latest VST3 SDK which I haven't tried yet. Are you using v3.6.5?
__________________
VirtualCZ | Endless Series | iPlug2 | Linkedin | Facebook
olilarkin is offline   Reply With Quote
Old 10-22-2015, 06:25 AM   #550
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

Thanks Oli.

I've set this all up just a few days ago (incl. all the downloads), so yeah, I'm using v3.6.5.

Does Steinberg also provide the older SDK's I could try instead (if so, which one do you recommend) ?

edit:
Can't find anything on the Steinberg developers page at least.
nofish is offline   Reply With Quote
Old 10-23-2015, 04:49 AM   #551
random_id
Human being with feelings
 
random_id's Avatar
 
Join Date: May 2012
Location: PA, USA
Posts: 356
Default

Quote:
Originally Posted by olilarkin View Post
this might be something to do with the very latest VST3 SDK which I haven't tried yet. Are you using v3.6.5?
Yeah, I think that is what happened with me. I updated the VST3 SDK and had to change things for STR16 to work in IPlugVST3.cpp. I think that was the only change I made to get it working in Windows. I haven't tried the newer SDK on OS X, yet.
__________________
Website: LVC-Audio
random_id is offline   Reply With Quote
Old 10-24-2015, 02:25 PM   #552
Matthieu Brucher
Human being with feelings
 
Join Date: Jun 2014
Location: Oxford UK
Posts: 27
Default

Hey did anyone managed to compile that last head with OS X 10.11.1, last XCode upgrade? Some deprecated API have changed, and there are some issues with swell. I think there is a way around for the first one, but for the second, it's Objective C code, and I'm at lost on these...
Really, really love Apple...

edit: actuallt, didn't managed to make a single plugin work, even by changing the API. The whole audio system is unresponsive and the GUI is messed up. Thanks Apple for such a wonderful update...
__________________
My blog: http://blog.audio-tk.com/
Github: https://github.com/mbrucher

Last edited by Matthieu Brucher; 10-25-2015 at 09:30 AM.
Matthieu Brucher is offline   Reply With Quote
Old 10-25-2015, 02:21 PM   #553
olilarkin
Human being with feelings
 
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
Default

Just compiled some IPlugExamples on 10.11.1 with Xcode 7.1, against the 10.5 SDK. Seems to be working for me.

Trying to compile against the 10.11 SDK there is an error in swell-gdi.mm about some deprecated methods CMGetSystemProfile() and CMCloseProfile()

EDIT - saw your github PR. Do you need to use the 10.11 SDK? I recommend installing the 10.5 SDK for maximum compatibility, or 10.7 if you need C++11.
__________________
VirtualCZ | Endless Series | iPlug2 | Linkedin | Facebook
olilarkin is offline   Reply With Quote
Old 10-25-2015, 03:20 PM   #554
Matthieu Brucher
Human being with feelings
 
Join Date: Jun 2014
Location: Oxford UK
Posts: 27
Default

Thanks for the answer, that means that I need to get my hand on the 10.7 sdk again (I had 10.10, but it was deleted, of course, by Apple during an update).
I think my PR is only making it compile, I don't know what they changed in the last sdk update (it worked fine with 10.11.0 and Xcode 7), but they really messed up big time.
__________________
My blog: http://blog.audio-tk.com/
Github: https://github.com/mbrucher
Matthieu Brucher is offline   Reply With Quote
Old 10-28-2015, 02:12 PM   #555
Matthieu Brucher
Human being with feelings
 
Join Date: Jun 2014
Location: Oxford UK
Posts: 27
Default

Strange, even with 10.10, I can't have a working app anymore. The old one still works, so this is really really strange
__________________
My blog: http://blog.audio-tk.com/
Github: https://github.com/mbrucher
Matthieu Brucher is offline   Reply With Quote
Old 11-06-2015, 03:45 AM   #556
A_SN
Human being with feelings
 
Join Date: Aug 2011
Posts: 89
Default

I moved on to building SplineEQ using VS2015 and now I get this on Windows XP (as brought to my attention by an XP user, so it's not just me).


Seems to be happening as the very first thing when my plugin is being loaded.

No idea what I'm doing wrong, I'm guessing it has to do with building options?

EDIT: Nevermind, I just had to compile everything against v120_xp.

Last edited by A_SN; 11-11-2015 at 11:24 PM.
A_SN is offline   Reply With Quote
Old 11-08-2015, 04:47 PM   #557
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by olilarkin View Post
Just compiled some IPlugExamples on 10.11.1 with Xcode 7.1, against the 10.5 SDK. Seems to be working for me.
If I run some plugins built with Xcode 6 or Xcode 7 using 10.5 SDK on EL Capitan I get extremely high CPU usage when minimising plugin interface on APP (I did not test VST). It seams that GUI redraws are not stoping when plugin is minimised so if you have something that is constantly redrawing it will cause big CPU usage. You can see it running IPlugText..
Youlean is offline   Reply With Quote
Old 12-01-2015, 09:17 AM   #558
random_id
Human being with feelings
 
random_id's Avatar
 
Join Date: May 2012
Location: PA, USA
Posts: 356
Default IPlugSpectFFT

I just put a pull request on Github for an example plugin that does an FFT spectrum analyzer display.

There is room for improvement, and I am hoping that smarter people than me will help make it better (and find my mistakes).

I have only built the VST version on Windows, but (based on my private code) it should work on OS X and Windows with all other plugin formats.

Here is the screenshot (yes, the colors are ugly; however, I wanted to keep everything simple)
__________________
Website: LVC-Audio
random_id is offline   Reply With Quote
Old 12-01-2015, 03:24 PM   #559
olilarkin
Human being with feelings
 
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
Default

nice work, will have a look!

Sorry to everyone who has submitted a PR etc which hasn't been merged. I have not had much time lately to dedicate to WDL-OL
__________________
VirtualCZ | Endless Series | iPlug2 | Linkedin | Facebook
olilarkin is offline   Reply With Quote
Old 12-13-2015, 10:29 AM   #560
maajki
Human being with feelings
 
Join Date: Dec 2015
Posts: 6
Default

Quote:
Originally Posted by random_id View Post
I think the issue is with the STR16.
I am sure there is a more eloquent way of dealing with it, but I replaced all of the STR16 with Steinberg::ConstStringTable::instance()->getString (this is defined in fstrdefs.h). There are several reference in the IPlugVST3.cpp file, but it worked for me.
I've replaced but FL Studio cannot find the vst3 plugin
maajki is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 07:31 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.