vst~ instrument woes

Feb 22, 2006 at 11:45pm

vst~ instrument woes

Hi all,
Having some trouble here with VST~ and vst instruments. I keep getting the following error:

• error: vst~: midievent: effect doesn’t want events

I know this is SUPPOSE to appear when audio is not one, but it IS on. My biggest frustration is that I can’t seem to pinpoint the problem. If I load the VST instrument in the help patch (or something similar)…no problems. But once I put it into an abstraction, or (gasp) a poly~ (as part of a much larger patch), I get this error. But not always. Sometimes I’ll have two abstractions with just the VST~, one will work, one won’t, but once the one that will work makes a sound, the one that didn’t starts to work?!?! 8 hours I’ve been trying to track this problem down…

So before I continue down the road of despair spending more time tracking down this problem (or present a patch the shows the problem consistently), are there any known issue I should be aware of wrt using vst instruments in vst~s in poly~s or abstractions?

Thanks,
David

#24569
Feb 23, 2006 at 12:44am

I had the same problem. Tried narrowing down what was causing it and never did. Found a work around though.

I made a very basic VSTi plugin called VSTiHolder – bare bones – doesn’t actually do anything. Do remember to use the plugconfig object with the line

#C synth;

in it.

I then made this VSTi the default plugin in the VST object.

example

VST VSTiHolder instead of VST none

This seems to have fixed the problem. Now you can load any VSTi into the VST object and it will work.

Stefan

#71296
Feb 23, 2006 at 1:24am

Hi Stefan,
Thanks for the reply. Problem is that I am not the one making the instruments…only using them.

So a bit more work has narrowed the problem down to vst~ inside a poly~ causing the problems. There are two patches below: first is the main patch with the poly~, second, which needs to be named “tmd.playbank” is the abstraction for the poly~. Instructions in the patch.

My guess is that the vst~ object is not getting the message that audio is on somehow, and therefore generating the error.

Hope this helps.

David

–main patch

max v2;
#N vpatcher 0 47 829 638;
#P window setfont “Sans Serif” 9.;
#P window linecount 5;
#P comment 108 417 186 196617 Please note that this is part of a much much larger patch…hence the reason why a vst~ is in a poly~ (i.e. there is lots more going on in the poly~ than is shown here).;
#P window linecount 4;
#P comment 493 263 186 196617 3. click here to generate a note…however you’ll most likely get an error stating it can’t receive MIDI events.;
#P window linecount 1;
#P comment 445 211 186 196617 2. click here to select a vst instrument;
#P window setfont “Sans Serif” 10.;
#P message 309 210 133 196618 vst1plugin “big ben bell”;
#B color 9;
#P window setfont “Sans Serif” 9.;
#P newex 326 318 37 196617 s why;
#P window setfont “Sans Serif” 10.;
#P message 343 260 145 196618 vst1midievent 144 40 127;
#B color 9;
#P message 326 232 127 196618 vst1plugin daHornet.vst;
#B color 9;
#P window setfont “Sans Serif” 9.;
#P message 49 179 39 196617 open 1;
#P user ezdac~ 49 349 93 382 0;
#P newex 251 159 27 196617 t l b;
#P newex 251 134 37 196617 r why;
#P message 268 181 47 196617 target 1;
#P window setfont “Sans Serif” 18.;
#P newex 49 237 212 196626 poly~ tmd.playbank 20;
#P window setfont “Sans Serif” 9.;
#P comment 96 361 100 196617 1. turn of audio;
#P connect 6 0 1 0;
#P connect 1 0 5 0;
#P fasten 1 1 5 1 256 307 88 307;
#P connect 3 0 4 0;
#P connect 4 0 1 1;
#P fasten 2 0 1 1 273 216 256 216;
#P connect 4 1 2 0;
#P fasten 10 0 9 0 314 296 331 296;
#P fasten 8 0 9 0 348 291 331 291;
#P connect 7 0 9 0;
#P pop;

–to be saved as tmd.playbank

max v2;
#N vpatcher 0 44 465 602;
#P origin 67 5;
#P window setfont “Sans Serif” 9.;
#P newex 114 202 92 196617 prepend midievent;
#P newex 114 122 50 196617 deferlow;
#P newex 114 99 27 196617 t l b;
#P toggle 322 279 15 0;
#P message 339 224 41 196617 mute 1;
#P newex 278 259 54 196617 thispoly~;
#P newex 339 201 45 196617 loadbang;
#P message 278 224 40 196617 mute 0;
#P newex 43 75 152 196617 route vst1plugin vst1midievent;
#N in 2;
#P newobj 43 24 25 196617 in 2;
#N out~ 2;
#P newobj 148 411 38 196617 out~ 2;
#N out~ 1;
#P newobj 114 443 38 196617 out~ 1;
#N vst~ loaduniqueid 0;
#P newobj 114 380 181 196617 vst~;
#P newex 43 252 65 196617 prepend plug;
#P comment 146 100 303 196617 < - first unmutes the poly , then passes the info to the vst~ object;
#P connect 5 0 6 0;
#P connect 6 0 1 0;
#P connect 6 1 12 0;
#P connect 12 0 13 0;
#P connect 13 0 14 0;
#P fasten 1 0 2 0 48 359 119 359;
#P connect 14 0 2 0;
#P connect 2 0 3 0;
#P connect 2 1 4 0;
#P fasten 12 1 7 0 136 119 283 119;
#P fasten 10 0 9 0 344 244 283 244;
#P fasten 7 0 9 0 283 244 283 244;
#P connect 9 1 11 0;
#P connect 8 0 10 0;
#P pop;

#71297
Feb 23, 2006 at 1:31am

Stefan…I re-read your message and missed the last part! So if I initially give the vst~ object an argument of a vst~ instrument, it will work for all plugins and vst~ instruments. Thanks for the tip! It does solve the problem in the short term…but I think this is pointing to a bug of some sorts. Maybe the fine folks at cycling74 can illuminate the problem for us ;)

Thanks again,
David

#71298
Feb 23, 2006 at 9:11am

I’ve been experiencing this problem for some time, in
a patch which has 4 VSTi players which are identical
sub patches, but whereas three of them _usually_ play
ok, one of the _usually_ produces this error.
I tried to to document this in detail, but could
never get the damn thing to behave consistently.
Sometimes it could be dealt with by paste-replacing
the offending patch, sometimes it would work in a
standalone, but not the patch, sometimes…. You get
the picture.
(The ‘mail is sitting in my Draft’s folder with the
title “Weird as tits on a Bishop”).

Suffice it to say that this problem has been around
for some time, and I will now try Stefan’s work
around, (big thanks in advance if it works)
cheers
Roger

#71299
Feb 23, 2006 at 9:22am

Sorry to pour cold water on this theory, but it sounds
just like the problem that I’ve been experiencing and
I’m not using poly~ ( if you’re suggesting that poly~
is the source of the problem)
cheers
Roger

> So a bit more work has narrowed the problem down to
> vst~ inside a poly~ causing the problems.

#71300
Feb 23, 2006 at 9:34am

well regardless, Stefan’s solution is working for me ;) just modified a vst plugin i made that simply passed audio thru and added the line that he suggested:
#C synth;

i’ve had the same problem in abstractions as well. just seems like the vst object is not getting the note that audio is on if it is not in the main/parent patch.

have you seen this error when the vst~ has not been in an abstraction? or subpatch even?

David

#71301
Feb 23, 2006 at 11:31am

Now you mention it, I can’t say I have seen this
outside of a sub-patch.

Having a slight problen with Stefan’s workaround: it
works fine in the patch (ie. running in Max), but i
can’t get the dummy plug to load in a standalone. I’ve
tried including it as a file when building the app,
tried dropping it in the same folder as the app, and
dropping it in various locations within the app’s
package, but I just get ‘�error: vst~: dumbplug:
error -1 opening plug-in’.

What’s worse, in the standalone I can’t even load a
plug into the vst~s; sending them a ‘plug’ message
gives not so much as an error message :(

The dummy plug is no more than a plugout~ and a
plugconfig with the all importantl #C synth; added.
Any suggestions ?
cheers
Roger

#71302
Feb 23, 2006 at 4:31pm

Guess I wrote that first post too fast. There is one other bit of info you need. If you are making your own pluggins you need to have the latest version of Pluggo or the free Pluggo Jr. installed. That should fix the problem.

In case anyone is interested – here is my VSTi dummy patch. (It actually uses the AU DLS Synth to play GM sounds. Note this is only a MIDI out to the Synth so this VSTi does not actually output the audio into Max/MSP, but it does let you test if the VST~ object is getting MIDI data.)

max v2;
#N vpatcher 154 187 939 667;
#P origin 0 -98;
#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P hidden newex 66 146 27 196617 – 1;
#P hidden newex 42 73 27 196617 + 1;
#P hidden newex 123 208 42 196617 pgmout;
#P hidden message 20 146 39 196617 set $1;
#P user umenu 19 40 120 196645 1 256 56 1;
#X add 1. Acoustic Piano;
#X add 2. Bright Acou Piano;
#X add 3. ElecGrand Piano;
#X add 4. Honky Tonk Piano;
#X add 5. Elec. Piano 1;
#X add 6. Elec. Piano 2;
#X add 7. Harsichord;
#X add 8. Clavichord;
#X add 9. Celesta;
#X add 10. Glockenspiel;
#X add 11. Music Box;
#X add 12. Vibraphone;
#X add 13. Marimba;
#X add 14. Xylophone;
#X add 15. Tubular Bells;
#X add 16. Dulcimer;
#X add 17. Drawbar Organ;
#X add 18. Perc. Organ;
#X add 19. Rock Organ;
#X add 20. Church Organ;
#X add 21. Reed Organ;
#X add 22. Accordian;
#X add 23. Harmonica;
#X add 24. Tango Accordian;
#X add 25. Acoustic Guitar;
#X add 26. SteelAcous. Guitar;
#X add 27. El. Jazz Guitar;
#X add 28. Electric Guitar;
#X add 29. El. Muted Guitar;
#X add 30. Overdriven Guitar;
#X add 31. Distortion Guitar;
#X add 32. Guitar Harmonic;
#X add 33. Acoustic Bass;
#X add 34. El. Bass Finger;
#X add 35. El. Bass Pick;
#X add 36. Fretless Bass;
#X add 37. Slap Bass 1;
#X add 38. Slap Bass 2;
#X add 39. Synth Bass 1;
#X add 40. Synth Bass 2;
#X add 41. Violin;
#X add 42. Viola;
#X add 43. Cello;
#X add 44. Contra Bass;
#X add 45. Tremelo Strings;
#X add 46. Pizz. Strings;
#X add 47. Orch. Strings;
#X add 48. Timpani;
#X add 49. String Ens. 1;
#X add 50. String Ens. 2;
#X add 51. Synth. Strings 1;
#X add 52. Synth. Strings 2;
#X add 53. Choir Aahs;
#X add 54. Voice Oohs;
#X add 55. Synth Voice;
#X add 56. Orchestra Hit;
#X add 57. Trumpet;
#X add 58. Trombone;
#X add 59. Tuba;
#X add 60. Muted Trumpet;
#X add 61. French Horn;
#X add 62. Brass Section;
#X add 63. Synth Brass 1;
#X add 64. Synth Brass 2;
#X add 65. Soprano Sax;
#X add 66. Alto Sax;
#X add 67. Tenor Sax;
#X add 68. Baritone Sax;
#X add 69. Oboe;
#X add 70. English Horn;
#X add 71. Bassoon;
#X add 72. Clarinet;
#X add 73. Piccolo;
#X add 74. Flute;
#X add 75. Recorder;
#X add 76. Pan Flute;
#X add 77. Blown Bottle;
#X add 78. Shakuhachi;
#X add 79. Whistle;
#X add 80. Ocarina;
#X add 81. Lead1 Square;
#X add 82. Lead2 Sawtooth;
#X add 83. Lead3 Calliope;
#X add 84. Lead4 Chiff;
#X add 85. Lead5 Charang;
#X add 86. Lead6 Voice;
#X add 87. Lead7 Fifths;
#X add 88. Lead8 Bass Ld;
#X add 89. Pad1 New Age;
#X add 90. Pad2 Warm;
#X add 91. Pad3 Polysynth;
#X add 92. Pad4 Choir;
#X add 93. Pad5 Bowed;
#X add 94. Pad6 Metallic;
#X add 95. Pad7 Halo;
#X add 96. Pad8 Sweep;
#X add 97. FX1 Rain;
#X add 98. FX2 Soundtrack;
#X add 99. FX3 Crystal;
#X add 100. FX4 Atmosphere;
#X add 101. FX5 Brightness;
#X add 102. FX6 Goblins;
#X add 103. FX7 Echoes;
#X add 104. FX8 Sci-Fi;
#X add 105. Sitar;
#X add 106. Banjo;
#X add 107. Shamisen;
#X add 108. Koto;
#X add 109. Kalimba;
#X add 110. Bagpipe;
#X add 111. Fiddle;
#X add 112. Shanai;
#X add 113. TinkerBell;
#X add 114. Agogo;
#X add 115. SteelDrums;
#X add 116. Woodblock;
#X add 117. TaikoDrum;
#X add 118. Melodic Tom;
#X add 119. SynthDrum;
#X add 120. Reverse Cymbal;
#X add 121. Guitar Fret Noise;
#X add 122. Breath Noise;
#X add 123. Seashore;
#X add 124. BirdTweet;
#X add 125. Telephone;
#X add 126. Helicopter;
#X add 127. Applause;
#X add 128. Gunshot;
#N plugconfig;
#C useviews 1 1 0 0;
#C numprograms 1;
#C preempt 1;
#C sigvschange 1;
#C sigvsdefault 32;
#C autosize;
#C defaultview Interface 0 0 0;
#C dragscroll 1;
#C noinfo;
#C uniqueid 128 8 212;
#C initialpgm 1;
#C synth;
#P hidden newobj 39 195 55 196617 plugconfig;
#N pp 1 program 1 128;
#P hidden newobj 113 151 100 196617 pp 1 program 1 128;
#P hidden newex 280 134 48 196617 loadbang;
#P hidden message 280 163 91 196617 “AU DLS Synth 1″;
#P hidden newex 237 308 43 196617 midiout;
#P hidden newex 184 262 55 196617 plugmidiin;
#P comment 140 42 100 196617 General MIDI Sound;
#P hidden connect 8 0 7 0;
#P hidden connect 11 0 8 0;
#P hidden connect 7 0 10 0;
#P hidden connect 5 0 11 0;
#P hidden connect 10 0 5 0;
#P hidden connect 3 0 9 0;
#P hidden connect 5 0 9 0;
#P hidden connect 3 0 2 0;
#P hidden connect 1 0 2 0;
#P hidden connect 4 0 3 0;
#P pop;

#71303
Feb 23, 2006 at 6:43pm

I have the latest Pluggo installed. Like I said your
fix works fine in Max, for which I’m very grateful,
but I can’t understand why vst~ can’t load it in a
standalone.
Anyone?
cheers
Roger

#71304
Feb 23, 2006 at 8:22pm

This reminds me of a question I had a while ago…

How to make an instrument that will act like a synth (VSTi), yet still allow audio input? Like a filter whose cutoff is controlled with a midi notes.

It seems that as soon as I put #C synth; into the plugconfig, the audio input is shut off – and then without it, it doesn’t like midievents.

Thanks,

Bil

#71305
Feb 23, 2006 at 9:42pm

> It seems that as soon as I put #C synth; into the
> plugconfig, the audio input is shut off – and then
> without it, it doesn’t like midievents.

unfortunately you can still not use plugmidiin for
effects, my guess is that is has something to do
with the fact that any of the possible host apps
treats midi differently.
would be great if it would work at least in steinberg
apps..

#71306
Feb 23, 2006 at 9:46pm

> > It seems that as soon as I put #C synth; into the
> > plugconfig, the audio input is shut off – and then
> > without it, it doesn’t like midievents.
>
>
> unfortunately you can still not use plugmidiin for
> effects

sorry, second post.

it is relatively simple to make yourself a synth type
plug-in which can recieve any midi you want and wires
the midi data to plugsends which can be referenced from
custom effects.
so if you need it bad just do it this way.

#71307
Feb 24, 2006 at 9:46am

You can get round this by making two plugs – one to
process audio and one (‘synth’) to receive the midi.
You can then communicate between the two using the
usual send/receive, send~/receive~ or even
plugsend/plugreceive.
It’s a bit of a pain and depending on which sequencer
you use, you have to give some thought to how to set
it up, but it certainly can be done.
cheers
Roger

#71308
Feb 24, 2006 at 11:03am

OK, so I’ve managed to get it working in a standalone
by loadbanging ‘plug dumbplug’ into the vst~, with
dumbplug in the package’s Contents/MacOS/Support
folder. Still curious as to why it doesn’t work if I
simply put dumbplug as an argument to vst~ though.
Thanks again for the fix, Stefan; I spent so long
tearing my hair out over this one!
cheers

#71309
Aug 16, 2006 at 6:11pm

OK.

Let’s try and get to the bottom of this.

First off – there’s nothing we can do in 4.6 because there is no compatible pluggo.
So we’ll all need to be using 4.5.7 and the 3.5.4 Pluggo runtime.

I shall try and recreate the problem – if anybody has any further clues for me I’d be most grateful – like version/platform info for starters.

-A

#71310

You must be logged in to reply to this topic.