COCKOS
CONFEDERATED FORUMS
Cockos : REAPER : NINJAM : Forums
Forum Home : Register : FAQ : Members List : Search :

Go Back   Cockos Incorporated Forums > Other Software Discussion > WDL users forum

Reply
 
Thread Tools Display Modes
Old 11-29-2017, 07:50 AM   #1
SaschArt
Human being with feelings
 
SaschArt's Avatar
 
Join Date: Aug 2013
Posts: 188
Default MakePreset incompatibility with AU version

There are known incompatibilities or bugs for Audio Unit on MakePreset() ?

All other version like VST for mac and for windows works very well. But for Audio Unit crash the Reaper. This depends on the text in the title (char* name), some of the problem appears, others do not.
__________________
Audio VST plugins http://vst.saschart.com
SaschArt is offline   Reply With Quote
Old 11-29-2017, 02:39 PM   #2
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 316
Default

Which framework are you using and is it the latest version? I've successfully used MakePresetFromNamedParams with AU and WDL-YOULEAN. It works in both Logic and Reaper.

I've just tested it and presets change ok, maybe a bit slowly on Reaper though. It also messes up my display a bit, but that's a random little bug of my own that I thought I'd fixed!
Bobflip is offline   Reply With Quote
Old 11-29-2017, 02:39 PM   #3
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 316
Default

Oh, and what text seems to be causing the trouble?
Bobflip is offline   Reply With Quote
Old 11-30-2017, 02:47 AM   #4
SaschArt
Human being with feelings
 
SaschArt's Avatar
 
Join Date: Aug 2013
Posts: 188
Default

Tale version I use.

Until now I could not find out what text is causing the problem.
__________________
Audio VST plugins http://vst.saschart.com
SaschArt is offline   Reply With Quote
Old 11-30-2017, 06:48 AM   #5
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: Holland
Posts: 2,900
Default

I use MakeDefaultPreset(name) in Scanner Vibrato, and I used to also use MakePresetFromNamedParams() and MakePresetFromChunk() in Combo Model V/F, and these seemed to work fine in both VST and AU.

I do seem to recall that for strict compatibility, the preset names can't be longer than 23 chars, but I think that is VST 2.4 rather than AU. Most modern hosts seem to gladly accept longer names though. Do note that IPlug itself also has a limit, but this is 255 chars by default (see MAX_PRESET_NAME_LEN in IPlugStructs.h).
Tale is offline   Reply With Quote
Old 12-02-2017, 04:44 AM   #6
SaschArt
Human being with feelings
 
SaschArt's Avatar
 
Join Date: Aug 2013
Posts: 188
Default

I have maximum of 23 characters but the problem persists.

So, with this presets AU works fine:

Code:
	MakeDefaultPreset((char *) "---- default ----");
	MakePreset("Higher frequencies",		400, 4., 0, 0, 0, 1000, 90);
	MakePreset("Monaural beats",			200, 4., 0, 1, 0, 1000, 90);
	MakePreset("Slow Freq Changing",		200, 4., 0, 0, 0, 4000, 90);
	
	MakePreset("Binaural - 0.9",			200, 0.9, 0, 0, 0, 1000, 90);
	MakePreset("Binaural - 2.2",			200, 2.2, 0, 0, 0, 1000, 90);
	MakePreset("Binaural - 4.0",			200, 4.0, 0, 0, 0, 1000, 90);
	MakePreset("Binaural - 4.9",			200, 4.9, 0, 0, 0, 1000, 90);
	MakePreset("Binaural - 6.0",			200, 6.0, 0, 0, 0, 1000, 90);
	MakePreset("Binaural - 33.0",			200, 33.0, 0, 0, 0, 1000, 90);
But with this, do not:

Code:
	MakeDefaultPreset((char *) "---- default ----");
	MakePreset("Higher frequencies",		400, 4., 0, 0, 0, 1000, 90);
	MakePreset("Monaural beats",			200, 4., 0, 1, 0, 1000, 90);
	MakePreset("Slow Freq Changing",		200, 4., 0, 0, 0, 4000, 90);
	
	MakePreset("Binaural - 0.9",			200, 0.9, 0, 0, 0, 1000, 90);
	MakePreset("Binaural - 2.2",			200, 2.2, 0, 0, 0, 1000, 90);
	MakePreset("Binaural - 4.0",			200, 4.0, 0, 0, 0, 1000, 90);
	MakePreset("Binaural - 4.9",			200, 4.9, 0, 0, 0, 1000, 90);
	MakePreset("Binaural - 6.0",			200, 6.0, 0, 0, 0, 1000, 90);
	MakePreset("Binaural - 33.0",			200, 33.0, 0, 0, 0, 1000, 90);

	MakePreset("Solfeggio UT – 396 Hz",		396, 0., 0, 0, 0, 1000, 90);
	MakePreset("Solfeggio RE – 417 Hz",		417, 0., 0, 0, 0, 1000, 90);
	MakePreset("Solfeggio MI – 528 Hz",		528, 0., 0, 0, 0, 1000, 90);
	MakePreset("Solfeggio FA – 639 Hz",		639, 0., 0, 0, 0, 1000, 90);
	MakePreset("Solfeggio SOL – 741 Hz",		741, 0., 0, 0, 0, 1000, 90);
	MakePreset("Solfeggio LA – 852 Hz",		852, 0., 0, 0, 0, 1000, 90);	
	MakePreset("Solfeggio SI – 963 Hz",		963, 0., 0, 0, 0, 1000, 90);

kNumPrograms = 20;
__________________
Audio VST plugins http://vst.saschart.com
SaschArt is offline   Reply With Quote
Old 12-02-2017, 12:52 PM   #7
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: Holland
Posts: 2,900
Default

The first thing that comes to mind it that there is some va_list type mistmatch i.e. are you sure your parameters are:

Code:
MakePreset(..., (int), (double), (int), (int), (int), (int), (int))
Tale is offline   Reply With Quote
Old 12-03-2017, 11:53 AM   #8
SaschArt
Human being with feelings
 
SaschArt's Avatar
 
Join Date: Aug 2013
Posts: 188
Default

Quote:
Originally Posted by Tale View Post
The first thing that comes to mind it that there is some va_list type mistmatch i.e. are you sure your parameters are:

Code:
MakePreset(..., (int), (double), (int), (int), (int), (int), (int))
Yes, all parameters are InitInt() or paramList() except the second parameter which is InitDouble()
__________________
Audio VST plugins http://vst.saschart.com
SaschArt is offline   Reply With Quote
Old 12-04-2017, 12:04 AM   #9
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: Holland
Posts: 2,900
Default

OK, got it! The '-' in "Binaural - 0.9" is 0x2D, but the char in "Solfeggio UT – 396 Hz" is 0x96. I guess AU doesn't like this, or maybe it gets incorrectly converted to UTF-8 or something. Anyway, replacing 0x96 with '-' should fix this.
Tale is offline   Reply With Quote
Old 12-04-2017, 03:59 AM   #10
SaschArt
Human being with feelings
 
SaschArt's Avatar
 
Join Date: Aug 2013
Posts: 188
Default

Quote:
Originally Posted by Tale View Post
OK, got it! The '-' in "Binaural - 0.9" is 0x2D, but the char in "Solfeggio UT – 396 Hz" is 0x96. I guess AU doesn't like this, or maybe it gets incorrectly converted to UTF-8 or something. Anyway, replacing 0x96 with '-' should fix this.
YES Tale, this was the problem. Wrong conversion to UTF-8 Thanks a lot !!!
__________________
Audio VST plugins http://vst.saschart.com
SaschArt is offline   Reply With Quote
Old 09-15-2018, 11:11 AM   #11
earlevel
Human being with feelings
 
Join Date: Dec 2015
Posts: 282
Default

Tagging onto this old thread with a different twist...

I added MakePreset() presets to my code (yes, set kNumPrograms accordingly), after already having the default ("-") preset from the examples. The new presets didn't show up in Digital Performer, only the default. I stepped through code—it looked good. Then I changed the name of the default preset to "- test -" as a sanity check. The list in DP was still "-" solely. But if I selected it, the current menu setting would appear as "- test -" (pulling the menu down still showed "-", though). So, I figured the menu was getting cached by DP. I pulled up my plugin in Reaper, and there are all my presets, working fine.

Anyone see this before? I guess just caching specific to DP, but I can't even find a pref file to blow away (I used to know what to trash in DP, but things have changed I guess).
earlevel is offline   Reply With Quote
Old 09-16-2018, 01:30 AM   #12
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: Holland
Posts: 2,900
Default

I haven't seen this before, but I have not looked for it either.

I assume you are talking about the AU version? Because in the VST version the presets are part of the plug-in state, so there is no way for DP to cache it.
Tale is offline   Reply With Quote
Old 09-20-2018, 05:35 PM   #13
earlevel
Human being with feelings
 
Join Date: Dec 2015
Posts: 282
Default

Quote:
Originally Posted by Tale View Post
I haven't seen this before, but I have not looked for it either.

I assume you are talking about the AU version? Because in the VST version the presets are part of the plug-in state, so there is no way for DP to cache it.
Yes (didn't specify because the thread says "AU"). I'm not going to worry about this a whole lot, I assume for users (new installation) it will work as expected.
earlevel 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 11:14 AM.


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