I know it's obvious BUT…

Mar 9, 2006 at 11:40pm

I know it's obvious BUT…

Oh dear, my first post, and I’m already stamping NEWBIE on my forehead…

Hi. I’m trying to build a rather complex setup for my first attempt on MAX in about 10 years. I’m still getting the hang of MSP objects, so apologies in advance for these tragically straightforward questions…

I’m dealing with a VST plugin (instrument) within a MAX environment. (To be specific, I’m using Stylus RMX as an engine to do sample and REX File playback).

My questions are:

A) how the heck do I route MIDI to a VST instrument? I know this should be basic, but I actually can’t seem to find the way to make it happen.

B) is there any way to have a MAIN SYNC? So any VST’s that need a sync to function can work? (For example, Stylus can automatically have tonnes of cool things that work to the master tempo, but it needs a MASTER tempo). Am I overlooking something obvious?

I’m a smart guy, but I’m still getting back into the groove of this :)

Thanks in advance,

-Joel

#24812
Mar 10, 2006 at 12:14am

if you need quick… check out the midievent message (in the help
file.)
sync I’m unsure of. alternatively command-option click on an object
gives a list of available messages

-matt

#72321
Mar 10, 2006 at 12:34am

Thanks so much for the response…

I’m still struggling with how this will work. Shouldn’t it be easy to send MIDI to a VST instrument?

How can I use ‘midievent’ so that the instrument is playable? My brain is about to explode. Not literally.

Thanks again…

-joel

#72322
Mar 10, 2006 at 9:19am

Here’s a basic vst~ wrapper for VSTi’s, that should
help get you going.
As for the sync question, there’s been some fairly
lively debate on this subject on the list recently,
under the heading ‘Vst Prayer’, or for those of you
who love long url’s:
http://www.cycling74.com/forums/index.php?t=msg&th=18343&sta rt=0&rid=925&S=fe5ea797b417dbc7aaa1bd77d4264021
The bottom line appears to be ‘not currently
possible’.
cheers
Roger

max v2;
#N vpatcher 167 202 1141 815;
#P origin -79 0;
#P button 30 104 15 0;
#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P newex 143 316 31 196617 sel 1;
#P newex 143 293 31 196617 sel 1;
#P message 31 136 55 196617 176 123 0;
#P newex 226 153 38 196617 unpack;
#P newex 429 123 30 196617 gate;
#P newex 355 106 30 196617 gate;
#P newex 289 105 30 196617 gate;
#P newex 226 101 30 196617 gate;
#P newex 158 119 30 196617 gate;
#P newex 595 79 29 196617 == 1;
#N comlet set channel;
#P inlet 618 50 15 0;
#N comlet channel;
#P inlet 594 50 15 0;
#P outlet 198 437 15 0;
#N comlet edit;
#P inlet 122 50 15 0;
#N comlet select plug;
#P inlet 88 50 15 0;
#N comlet sig out;
#P outlet 176 436 15 0;
#N comlet note;
#P inlet 152 50 15 0;
#N comlet controller;
#P inlet 223 50 15 0;
#N comlet prog;
#P inlet 296 50 15 0;
#N comlet touch;
#P inlet 356 50 15 0;
#N comlet bend;
#P inlet 449 50 15 0;
#P newex 477 196 38 196617 % 128;
#P newex 359 139 29 196617 t b i;
#P message 357 213 26 196617 208;
#P newex 357 233 45 196617 pack 1 2;
#P newex 429 192 27 196617 t b i;
#P newex 429 145 42 196617 xbendin;
#P newex 290 192 29 196617 t b i;
#P message 429 213 26 196617 224;
#P newex 429 233 55 196617 pack 1 2 3;
#P message 289 213 26 196617 192;
#P newex 289 233 45 196617 pack 1 2;
#P message 219 213 26 196617 176;
#P newex 219 233 55 196617 pack 1 2 3;
#P newex 166 189 38 196617 unpack;
#P message 140 213 26 196617 144;
#P newex 140 233 55 196617 pack 1 2 3;
#P message 140 261 95 196617 midievent $1 $2 $3;
#P message 176 316 28 196617 open;
#P message 176 294 26 196617 plug;
#N vst~ loaduniqueid 0;
#P newobj 177 344 79 196617 vst~;
#P newex 456 174 35 196617 / 128;
#P comment 7 87 65 196617 All notes off;
#P connect 43 0 40 0;
#P fasten 8 0 7 0 171 209 145 209;
#P connect 7 0 6 0;
#P fasten 18 0 5 0 362 252 145 252;
#P fasten 13 0 5 0 434 254 145 254;
#P connect 6 0 5 0;
#P fasten 9 0 5 0 224 255 145 255;
#P fasten 11 0 5 0 294 255 145 255;
#P fasten 40 0 5 0 36 254 145 254;
#P fasten 28 0 41 0 93 286 148 286;
#P fasten 29 0 42 0 127 305 148 305;
#P fasten 33 0 34 0 600 112 163 112;
#P fasten 8 0 6 1 171 224 167 224;
#P fasten 34 0 8 0 163 176 171 176;
#P connect 41 0 3 0;
#P connect 42 0 4 0;
#P connect 2 0 27 0;
#P fasten 5 0 2 0 145 282 182 282;
#P connect 3 0 2 0;
#P connect 4 0 2 0;
#P fasten 26 0 34 1 157 93 183 93;
#P fasten 8 1 6 2 199 222 189 222;
#P connect 2 1 30 0;
#P fasten 39 0 10 0 231 201 224 201;
#P connect 10 0 9 0;
#P fasten 33 0 35 0 600 96 231 96;
#P connect 35 0 39 0;
#P fasten 39 0 9 1 231 203 246 203;
#P fasten 25 0 35 1 228 88 251 88;
#P fasten 39 1 9 2 259 196 268 196;
#P fasten 33 0 36 0 600 103 294 103;
#P connect 15 0 12 0;
#P connect 12 0 11 0;
#P connect 36 0 15 0;
#P connect 24 0 36 1;
#P fasten 15 1 11 1 314 216 329 216;
#P fasten 33 0 37 0 600 102 360 102;
#P connect 20 0 19 0;
#P connect 19 0 18 0;
#P connect 37 0 20 0;
#P connect 23 0 37 1;
#P fasten 20 1 18 1 383 196 397 196;
#P fasten 33 0 38 0 600 100 434 100;
#P connect 38 0 16 0;
#P connect 16 0 17 0;
#P connect 17 0 14 0;
#P connect 14 0 13 0;
#P connect 22 0 38 1;
#P fasten 21 0 13 1 482 222 456 222;
#P fasten 16 0 1 0 434 168 461 168;
#P fasten 1 0 13 2 461 220 478 220;
#P fasten 16 0 21 0 434 187 482 187;
#P connect 31 0 33 0;
#P fasten 16 1 33 0 466 169 574 169 574 72 600 72;
#P fasten 32 0 33 1 623 71 619 71;
#P pop;
— joelsquare wrote:

>
> Oh dear, my first post, and I’m already stamping
> NEWBIE on my forehead…
>
> Hi. I’m trying to build a rather complex setup for
> my first attempt on MAX in about 10 years. I’m
> still getting the hang of MSP objects, so apologies
> in advance for these tragically straightforward
> questions…
>
> I’m dealing with a VST plugin (instrument) within a
> MAX environment. (To be specific, I’m using Stylus
> RMX as an engine to do sample and REX File
> playback).
>
> My questions are:
>
> A) how the heck do I route MIDI to a VST instrument?
> I know this should be basic, but I actually can’t
> seem to find the way to make it happen.
>
> B) is there any way to have a MAIN SYNC? So any
> VST’s that need a sync to function can work? (For
> example, Stylus can automatically have tonnes of
> cool things that work to the master tempo, but it
> needs a MASTER tempo). Am I overlooking something
> obvious?
>
> I’m a smart guy, but I’m still getting back into the
> groove of this :)
>
> Thanks in advance,
>
> -Joel
>

#72323
Mar 10, 2006 at 2:50pm

Coool…

Thank you so much, I’ll check this out immediately!

-j

#72324
Mar 13, 2006 at 3:31pm

Thanks for your replies guys…

I found the easiest solution for what I am doing is to just use MAX to process MIDI, and Rewire it to Plogue. Each of these programs have their strong points and weak points, and, thankfully, they are the same.

Cheers,
Joel

#72325
Mar 13, 2006 at 3:41pm

What I mean is that they *aren’t* the same…

-j

#72326
Mar 13, 2006 at 3:49pm

The patch below, is a Raw MIDI to midievent converter ;)

VST~ sync is currently impossible, dammit – come on Cycling74 Developers !! This is the biggest downside to max if u ask me….as i’m having a hard time finding anything else !
I started the VST~ prayer thread…so I won’t blah blah more on this subject ;o)

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P newex 187 106 48 196617 pack 0 0;
#P newex 187 84 88 196617 makenote 60 500;
#P user kslider 187 17 54 0 36 48 31 12 0 128 128 128 128 128 128 255 255 255 0 0 0 0 0 0;
#P newex 187 129 92 196617 midiformat;
#P user ezdac~ 35 347 79 380 0;
#P newex 35 84 37 196617 midiin;
#P message 79 270 26 196617 plug;
#P message 52 270 28 196617 open;
#N vst~ loaduniqueid 1035410718;
#P newobj 35 303 79 196617 vst~;
#P comment 43 192 100 196617 midievents for vst~;
#N vpatcher 100 138 854 700;
#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P newex 49 468 92 196617 prepend midievent;
#N comlet midievent;
#P outlet 49 499 15 0;
#P window linecount 0;
#P message 544 276 35 196617 set $1;
#P message 544 247 35 196617 set $1;
#P newex 581 246 29 196617 + 16;
#P newex 544 407 64 196617 prepend 124;
#P newex 445 407 64 196617 prepend 208;
#P message 544 219 35 196617 set $1;
#P newex 581 218 29 196617 + 16;
#P message 544 187 35 196617 set $1;
#P newex 581 186 29 196617 + 16;
#P newex 346 408 64 196617 prepend 192;
#P newex 247 408 64 196617 prepend 176;
#P newex 148 409 64 196617 prepend 160;
#P message 544 156 35 196617 set $1;
#P newex 581 155 29 196617 + 16;
#P message 544 123 35 196617 set $1;
#P newex 49 409 64 196617 prepend 144;
#P newex 581 122 29 196617 + 16;
#P newex 544 94 37 196617 + 143;
#N comlet raw midiin;
#P inlet 49 45 15 0;
#P newex 49 67 135 196617 midiparse;
#P connect 1 0 0 0;
#P connect 0 0 4 0;
#P connect 5 0 4 0;
#P connect 16 0 21 0;
#P connect 15 0 21 0;
#P connect 10 0 21 0;
#P connect 9 0 21 0;
#P connect 8 0 21 0;
#P connect 4 0 21 0;
#P connect 21 0 20 0;
#P connect 0 1 8 0;
#P connect 7 0 8 0;
#P connect 0 2 9 0;
#P connect 12 0 9 0;
#P connect 0 3 10 0;
#P connect 14 0 10 0;
#P connect 0 4 15 0;
#P connect 18 0 15 0;
#P connect 0 6 2 0;
#P connect 2 0 5 0;
#P connect 3 0 7 0;
#P connect 6 0 12 0;
#P connect 11 0 14 0;
#P connect 13 0 18 0;
#P connect 17 0 19 0;
#P connect 0 5 16 0;
#P connect 19 0 16 0;
#P connect 2 0 3 0;
#P connect 3 0 6 0;
#P connect 6 0 11 0;
#P connect 11 0 13 0;
#P connect 13 0 17 0;
#P pop;
#P newobj 35 173 123 196617 p raw midi -> midievents;
#P comment 160 175 100 196617 Have a look inside;
#P comment 43 159 100 196617 Raw midiin;
#P connect 12 0 9 0;
#P connect 11 1 12 1;
#P connect 11 0 12 0;
#P fasten 10 1 11 1 519 76 231 76;
#P connect 10 0 11 0;
#P fasten 9 0 2 0 192 154 40 154;
#P connect 2 0 4 0;
#P fasten 6 0 4 0 84 298 40 298;
#P fasten 5 0 4 0 57 297 40 297;
#P connect 7 0 2 0;
#P connect 4 0 8 0;
#P connect 4 1 8 1;
#P window clipboard copycount 13;

#72327
Mar 13, 2006 at 8:19pm

Hey, thanks, spleef.

I’ll check it out.

The whole lack of ability to have a master tempo may defeat the purpose. I think the best solution for me is to use MAX to do my complex MIDI stuf, but then bring it into Plogue, which does MIDI stuff, including sync’ing, with ease.

-j

#72328

You must be logged in to reply to this topic.