Page 1 of 1
Posted: 22 Feb 2013, 10:43
by joffo78
Bonjour à tous.
Dans l'idée d'exporter un workspace en standalone, je me demande si il n'y aurait pas une possibilité de charger un vst sans passer par le patching.
Je m'explique: en standalone on ne peut bien évidement pas patcher. Si j'exporte un workspace permettant de jouer avec des vsti,
comment pourrais je faire pour permettre à l'utilisateur de charger les vsti de son choix.
N'y aurait il pas une possibilité avec la fonction shell commande et un iml ?
Merci
Joffo
Posted: 22 Feb 2013, 11:11
by LevraiBernardo
Ca me parait compliqué dans le sens où chaque VSTi a son propre jeu de "pins". Il faudrait avoir une sorte de tronc commun...
Posted: 22 Feb 2013, 16:50
by joffo78
J'ai juste besoin des outputs du midi in du bypass et du visible

Posted: 22 Feb 2013, 17:26
by 23fx23
l'iml permet de créer n'importe quel module usine, incluant les vst
je n'ai pas trop le temps la mais regarde danss l'aide iml, il y a un listing de tout les id modules, et si je me souvient bien
la commande est quelque chose du genre:
CREATE_MODULE ID 'nameof vst.dll' X Y
et il y a un module VST 'allégé' a la fin de la liste
Posted: 23 Feb 2013, 11:23
by joffo78
Merci infiniment pour ton aide. Malheureusement l'iml me semble encore un peu compliqué pour moi.
Mais je vais quand même essayer.
Posted: 28 Feb 2013, 13:42
by percuson
Bonjour Joffo!
Ton question était trop intéressante pour moi..... et après heures d'essayer...
Voila le patch:
download VST Loader
Posted: 28 Feb 2013, 14:07
by joffo78
Tu es un killer !
C'est fabuleux !
Merci
Posted: 28 Feb 2013, 14:17
by joffo78
Par contre j'aimerais egalement qu'il connecte l'entrée midi in
J'ai essayé de modifier ton script sans succès

Posted: 28 Feb 2013, 14:38
by joffo78
Je ne comprends pas j'ai rajouté cette ligne:
SendInternalMsg('CREATE_LINK','midi in','in','VSTLoad','midi in');
Normalement ça devrait fonctionner...
Voici le script complet:
//////////////////////////////////////////////////////
// Script example
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
// Paramters declaration
//////////////////////////////////////////////////////
var VSTPath : Tparameter;
Var VSTtoLoad : String;
var create : Tparameter;
var delete : Tparameter;
var showVST : Tparameter;
var VSTcreated : Tparameter;
//////////////////////////////////////////////////////
// initialisation procedure
//////////////////////////////////////////////////////
procedure init;
begin
VSTPath := CreateParam('VSTPath',ptTextField); SetIsOutput(VSTPath,false);
create := CreateParam('create',ptButton); SetIsOutput(create,false); SetFastCallBack(create, false);
delete := CreateParam('delete',ptButton); SetIsOutput(delete,false); SetFastCallBack(delete, false);
showVST := CreateParam('showVST',ptButton); SetIsInput(showVST,false); SetFastCallBack(showVST, false);
end;
procedure callback (n:integer);
begin
if n = create then begin
if getValue(create) = 0 then begin
VSTtoLoad := GetStringValue(VSTPath); //GetVariableString('VST_TO_LOAD');
strace(VSTtoLoad);
SendInternalMsg('SET_TARGET_PATCH','SENDER_PATCH');
SendInternalMsg('DELETE_MODULE','VSTLoad');
SendInternalMsg('CREATE_MODULE','VSTLoad','184','300','200',VSTtoLoad);
SendInternalMsg('CREATE_LINK','bypass','bypass','VSTLoad','bypass');
SendInternalMsg('CREATE_LINK','show vst','show vst','VSTLoad','show vst');
SendInternalMsg('CREATE_LINK','midi in','in','VSTLoad','midi in');
SendInternalMsg('CREATE_LINK','VSTLoad','midi out','midi out','midi 1');
SendInternalMsg('CREATE_LINK','In L','1-L','VSTLoad','in 1');
SendInternalMsg('CREATE_LINK','In R','1-R','VSTLoad','in 2');
SendInternalMsg('CREATE_LINK','VSTLoad','out 1','Out l','1-L');
SendInternalMsg('CREATE_LINK','VSTLoad','out 2','Out R','1-R');
VSTcreated := 1;
end;
end;
if n = delete then begin
SendInternalMsg('DELETE_MODULE','VSTLOad');
end
end;
procedure process;
begin
if VSTcreated = 1 then
begin
setValue(showVst,1);
VSTcreated := 0;
end
else
begin
setValue(showVst,0);
end;
end;
Posted: 28 Feb 2013, 14:40
by joffo78
Ok ça marche. J4avais oublié de nommer le module !!!
Posted: 28 Feb 2013, 15:18
by joffo78
Bon encore une petite requète. N'y a t'il pas moyen de restreindre l'action seulement au patch ?
Comme j'ai plusieurs fois le patch loadvst celui ci s'applique à l'ensemble de mon workspace.
Posted: 28 Feb 2013, 18:36
by percuson
Hi Joffo,
mon francais est trop mal pour comprendre...
If I understand right, you have problems when having the patch more than once.
Which ones? I tried with a few of "load vst" and only found a strange behaviour, when deleting...
But this was no problem to fix.... I'll upload later
Posted: 28 Feb 2013, 18:54
by joffo78
Yes it's absolutly this problem in fact. Thanks

Posted: 28 Feb 2013, 19:25
by percuson
So I hope, all is fixed....
The main problem was the line
SendInternalMsg('SET_TARGET_PATCH','SENDER_PATCH');
it wasn't executed, when a VST was deleted.
And I tried to get a silent load (the old version always loaded unwanted VST, when creating the patch)
J'espère que le patch fonctionne bien à la fin...
download LoadVST
Posted: 28 Feb 2013, 20:09
by joffo78
ok thank you i'll try this soon. Another question, is it than easy to make the same with patches instead od vst ?
Posted: 28 Feb 2013, 21:16
by 23fx23
well done percuson

Posted: 28 Feb 2013, 21:58
by percuson
I don't know for shure.... I'm still learning the basics of IML.
I don't know how to call the sub patch, but I think this is also possible....
Posted: 28 Feb 2013, 22:08
by percuson
... try the LOAD_PATCH command. Assigning wires should be the sames as with vst. The Problem will be, that there will be more different output names. If you modify all the patches in- and out-names, a "patch-load and wire" patch should work almost the same way.
Posted: 28 Feb 2013, 23:17
by joffo78
Yes i saw koad_patch command but i'm not a programer so it's very hard for me to start at the begining. i just arrive to understand how did you do. Et désolé pour les lecteurs francophones (pour les anglophones aussi d'ailleurs).
Posted: 05 Mar 2013, 15:07
by percuson
... et aussi pour les germanophones
I made a version for loading a patch:
download LoadPatch
The main problem when loading a patch this way is, that the inlets and outlets must have the correct names.
Try out with the "Dummy-Patch" inside the ZIP-file.
Posted: 23 Dec 2013, 18:26
by hegeldas
Hello percuson, exacly wath i was looking for, is it possible to inclued vst randomizer as default link?
Good job
