Programmable VST Instrument,Audio effect,MIDI effect/sequencer,SoundFont import,Pitch shifter,Multi I/O. v1.0.120 beta.

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS
Crescendo

Post

Alex_Longard wrote: Thu May 19, 2022 7:07 pm БТ2, thank you!
Sorry, I am blind, and not use plug's GUI, it's possible to load script if it name write in settings file?
Another solution would be to write all the instrument code in the settings.ini file, starting after the end of the file.

it will be automatically loaded and executed, but in this way you can use the plugin only for that instrument. You can substitute the settings.ini with another file to change instrument.

EDIT: I think that the include command should work in settings.ini. Instead of copying the code of the file, just put an include directive at the end of the file. the problem of only one instrument remains...
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

O'k, thanks! I try.
My screenreader read text in window, only in host automation params all params send numbers, do you can create possibilities to make stepped parameters?

Post

Alex_Longard wrote: Thu May 19, 2022 8:04 pm O'k, thanks! I try.
My screenreader read text in window, only in host automation params all params send numbers, do you can create possibilities to make stepped parameters?
There is the integer scale for the parameters or you can create keyswitches, but i don't know if your reader will read the text. If it can read the temperaments, it can read also the keyswitches
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

I load file with button, it's work cool!
Interface full accessible for screenreader software.
It's great! Please continue to develop.

Post

Bjt2, i ask about stepped params, like as in my C code:

Code: Select all


void getParameterName(int index, char* text)
    {
switch (index)
    {
case parameter1:
  strncpy((char*)text, "Volume", VestigeMaxNameLen);
break;
case parameter2:
  strncpy((char*)text, "Mode", VestigeMaxNameLen);
break;
    }
    }

void getParameterLabel(int index, char *label)
    {
switch (index) {
case parameter1:
    float2string(param_volume, label);
break;
case parameter2: switch (float2int(mode_value))
    {
case 0:
  strncpy((char*)label, "Left", VestigeMaxNameLen);
break;
case 1:
  strncpy((char*)label, "Center", VestigeMaxNameLen);
break;
case 2:
    strncpy((char*)label, "Right", VestigeMaxNameLen);
break;
  default:
  strncpy((char*)label, "Empty", VestigeMaxNameLen);
break;
    }
    }
    }

Post

Alex_Longard wrote: Thu May 19, 2022 8:21 pm Bjt2, i ask about stepped params, like as in my C code:

Code: Select all


void getParameterName(int index, char* text)
    {
switch (index)
    {
case parameter1:
  strncpy((char*)text, "Volume", VestigeMaxNameLen);
break;
case parameter2:
  strncpy((char*)text, "Mode", VestigeMaxNameLen);
break;
    }
    }

void getParameterLabel(int index, char *label)
    {
switch (index) {
case parameter1:
    float2string(param_volume, label);
break;
case parameter2: switch (float2int(mode_value))
    {
case 0:
  strncpy((char*)label, "Left", VestigeMaxNameLen);
break;
case 1:
  strncpy((char*)label, "Center", VestigeMaxNameLen);
break;
case 2:
    strncpy((char*)label, "Right", VestigeMaxNameLen);
break;
  default:
  strncpy((char*)label, "Empty", VestigeMaxNameLen);
break;
    }
    }
    }
I didn't know that those functions could be used in this way. My plugin gives the name of the VST parameter number "index" for the first function and the measure unit for the second function. So i got wrong the meaning... The vst documentation pdf was not clear on this function...
My plugin supports only numeric parameters. For simbolic parameters there are the keyswitches: up to 8 with up to 32 values each. Each value is a string.
The keyswitches are drawn as drop down list like the temperament.
Let me know if your software reads the temperament drop down list, because if not i will try to add some other flag to the drop down lists...

Edit: tomorrow will try to modify get parameter name and get parameter label to dig into the key switches but I don’t know how to test…
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

Bjt2, in you plug window my screenreader detected temperament as combobox with selection items.
Sorry, i programming VST in pure C and PureBasic compiler, I many experementing with all functions and if you want I can help you with some functions, only I can not help with GUI :(

There my PB small example on last page:
http://forums.purebasic.com/english/vie ... 1&start=30

Post

Bjt2, in Reaper you can see stepped parameters if automate parameter, in TCP shows param name and value.

Post

Glad to see that the combobox is readable. The keyswitches should be readable too.
EDIT: are the slider readable? I am considering adding tab stops also to the sliders...

I don't have Reaper, so i can't test, but I will modify the getparametername and label as said the last post and should suffice. EDIT: testing with SAVIHOST: it's like I thought. GetParameterName must provide the parameter name, Getparameterdisplay must provide the formatted parameter value and Getparameterlabel must provide the parameter measure unit. I will not touch the functions. To have parameters with string options, you should use the keyswitches and there is a functionality to link a keyswitch to a VST parameter.

I tried to use C because i prefer it to C++, but i surrended and used C++. There are advantages using C++, especially now that I use dynamic allocation for the big structures...

I see that the Reaper integration with VST is strong. Ableton is more basic: native instruments support secondary audio input for use as sidechain. I included a keyword named "IN" to read external wave data to use it e.g. as sidechain, but on Ableton it is not possible to test.

If someone with other DAW (like Reaper apparently) can test this and tell me if the IN keyword works, e.g. FM modulating an oscillator with the IN pseudovariable...
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

bjt2 wrote: Fri May 20, 2022 6:11 am Glad to see that the combobox is readable. The keyswitches should be readable too.
EDIT: are the slider readable? I am considering adding tab stops also to the sliders...
Yes, slider readable, only slider name, i not find where value. I will test in the evening.

Post

Updated the ZIP, version 5, with the addition of the command "UIMOD" to move/resize some UI elements.

Updated also the manual: the description of UIMOD is just after INTERFACE (near the start).
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

bjt2 wrote: Fri May 20, 2022 6:11 am I don't have Reaper, so i can't test
You can just download Reaper and use the demo for testing. Once you click past the "still evaluating" it's the same as the full version. I'm sure that people will argue for days whether this is appropriate or not, but, that's for you to decide.

Post

Bjt2, can you increase the number of automation parameters? 128 is not enough, perhaps 1000? While I read manual, I have an idea to try to make waveTable synth.

Post

Alex_Longard wrote: Fri May 20, 2022 12:43 pm Bjt2, can you increase the number of automation parameters? 128 is not enough, perhaps 1000? While I read manual, I have an idea to try to make waveTable synth.
I would have to change a ton of code because the VST parameters are also extended midi cc...

If you explain what you want to do maybe there is another way...
There is the sample slot automation and the slots are 8192...
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

Alex_Longard wrote: Fri May 20, 2022 12:43 pm Bjt2, can you increase the number of automation parameters? 128 is not enough, perhaps 1000? While I read manual, I have an idea to try to make waveTable synth.
What if i create a "sample" instruction in which you can manually put the time t and obtain the samples? I can also create a keyword for time elapsed from trigger time so you can morph in a custom way the time variable and apply to the sample function...

For classical wavetable synthesis the time variable can be a sawtooth of intensity equal to the period (1/f) of the wavetable sample and then an LFO or other processing can be used to shift this sawtooth...
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post Reply

Return to “DSP and Plugin Development”