Jump to content

VEP6 Macro-based Multiport/SinglePort Templates


Recommended Posts

UPDATE:

 

NEW THREAD: viewtopic.php?f=9&t=143416

 

The new AU3 plugin (currently in beta) works really well and I highly reccomend using that instead of this in the near future. You will need to be running High Sierra or newer and VePro 7 in order to use that.

 

VSL made some new AU3 starter templates but they are a bit broken in 10.4.5+ due to a bug in LogicPro. I won't go into the details now, but bottom line is that I do NOT recommend using VSL's AU3 templates.

 

Here is a new one provided that is more compatible with logic 10.4.5+. This one has 1270 tracks that connect to 10 VEP instances.

 

But it turns out its pretty easy to create a new template from scratch for AU3. You can also follow these instructions to add more tracks to the above template.

 

Instructions for building up tracks and new 1270 AU3 template are here:

 

viewtopic.php?f=9&t=143416

 

 

Everything below here is ancient history....advise against using it....

 

VEP Multiport and SinglePort Templates

 

This package provides a number of templates for working with Vienna Ensemble Pro and LogicPro. These include both MultiPort and SinglePort templates. The MultiPort templates are improvements upon the ones that were provided by VSL in order to support super large track counts with VEP. The original version provided by VSL has some bugs in it due to bugs in the Logic environment layer which were not accounted for by VSL in their templates. These templates work around those bugs and are generally much better thought out with cleaner environment setups. These are useful until such time that VSL will update their AU plugin to AU3, along with required improvements to LogicPro in order to theoretically use true multi ports in Logic.

 

The MultiPort templates are useful for very large track counts, up to as many as 6000 tracks! Even larger track counts are possible if you expand upon the provided templates.

 

MultiPort templates also introduce an additional level of complexity which is often not desirable, so as a convenience, several SinglePort templates have been provided which are handy for setting up reasonably large track counts without using MultiPort, but using Logic MultiInstruments to achieve 16 channels per VEP instance. In addition, a hybrid template that has half the VEP instances as SinglePort and half as MultiPort; is also provided. Some empty templates are also provided that do not have pre-created tracks, but have all the internal environment cabling setup so that you can easily create new tracks adhoc on an as-needed basis and direct them to the desired VEP instance, port and channel.

 

See below for more information about the Logic Environment bugs which prevent VSL's original multiport macro from working properly, as well as the work-around provided by this package

 

(See below for Usage details)

 

VEPMultiPortTemplates_v1.92.7z.zip

 

Templates Provided

 

MultiPort

12.instance.768.tracks.4ports

12.instance.1536.tracks.8.ports

12.instance.3072.tracks.16.ports

4.instance.3072.tracks.48ports

1.instance.768.tracks.48ports

 

Templates without Tracks

12.instance.empty.16.ports - up to 3072 tracks

8.instance.empty.48ports - up to 6144 tracks!

4.instance.empty.48ports - up to 3072 tracks

2.instance.empty.48ports - up to 1536 tracks

1.instance.empty.48ports - up to 768 tracks

 

Single Port (no multi-port macro used)

16.instance.256.tracks.NoPorts

24.instance.384.tracks.NoPorts

 

Hybrid Combo

12.instance.480.tracks.4ports.NoPorts

 

 

 

 

Usage

 

In order to use this template, here are basic steps.

 

  1. Download and unzip the attachement from above. Note that it is currently distributed as a 7z compressed archive, inside a zip file archive. This is due to limitations of this forum in terms of file types I can attache and the fact that zip won't make it small enough to meet the limits of this forum also. So when you download the zip file, unzip it if your browser doesn't do that for you already. Then you will have a .7z file. Then you must uncompress that. The latest free "unarchiver" tool from the app store will uncompress 7z files. You will end up with a folder full of stuff.
     
     
  2. Open a template.
     
     
  3. When you open the template you will see the arrange page. Near the bottom of the arrange page you will see a track folder called "VEP Instances" and inside that folder you will see one track corresponding to each VEP Instance.
     
    VEPinstances.jpg.c8d03504f3cab20a3a3f4004a9be0996.jpg
     
  4. When you click on each of those track headers you will see they correspond to instrument channels which are configured as follows. You will need to open the VEP plugin for each instance and connect to the VEP server instance that is to be used for each one.
     
    strip.jpg.a2575bb301fc55910080fe980df0017b.jpg
    VEPconnect.jpg.8a068c822f7c2d746740512297523e90.jpg
     
  5. Add instruments to each VEP instance using the VEP software.
     
     
  6. Once you have instruments ready listening in VEP on each instance, listening to the correct ports and channels you can begin to audition sounds from LPX by clicking on the corresponding track header and playing your instrument. The midi tracks are contained inside track folders for now, you can move them around freely. The default naming for each midi track indicates the vep instance, port and channel, so for example the track called "VEP 1_2 3" will route midi events to VEP instance 1, port 2, channel 3.
     
    miditracks.jpg.24fcd7dc261f762cb4514be4102145d6.jpg
     
  7. You can rename these tracks freely but keep track of which instance and midi port is relevant on each track, since LPX has no knowledge about that and will not show you any other way. If you right-click to reassign track, you can see the underlying environment object that each track is assigned to and they are organized in a way that it should be easy to figure out which VEP instance, port and channel is relevant.
     
    reassign.thumb.jpg.116e3dd81de6ac9c7459634170d2ec7d.jpg
     
  8. You can delete these midi tracks as you wish in order to shrink the size of the template. Deleting unused tracks and unused environment objects is not a bad idea when your project is nearing mix down stage.
     
     
  9. If you wish to start with an "empty" template and add your tracks one at a time manually, then simply create new external midi tracks and right click the track header, select "reassign track" and find the VEP instance, port and channel you wish to direct the track to. Very easy.
     
    reassign.thumb.jpg.116e3dd81de6ac9c7459634170d2ec7d.jpg
     
    IMPORTANT Usage Notes
     
    The following things need be enforced for proper operation:
     

    1. In Project Preferences, turn off the "Midi Data Reduction" option. We're not sure at the moment whether this makes any difference, but we want to make sure LPX does not eliminate any CC99 messages in an attempt to thin or optimize CC bandwidth.
       
       
    2. There is an important Scripter script included in the templates which handles AllNotesOff and forwards those events to all ports when the user stops the transport or hits the panic button in LPX. This script is called VepMultiPort192.pst. This script is only needed for VEP instances using multi port. Single port instances should not have it on the channel strip.
       
       
    3. Users have reported issues when trying to copy and paste midi events into regions while the transport is playing through the same section. Just don't do that.
       
       
    4. LogicPro is sometimes unable to process too many midi events happening simultaneously in any one given instrument channel. This can be rectified by going into LPX audio preferences and setting the Process Buffer Range = "Large".
       
       
    5. When playing back a score with a lot of midi tacks funneling into one instrument, make sure to select a track header of a dummy track before hitting play. Make absolutely sure the track header for the channel hosting the VEP plugin is not selected. I usually hide this track so I don't forget.
       
       
    6. I would also recommend you set the Multithreading mode in LPX to "Playback".
       
      multi-thread.jpg.97eac268b390915b5314aef81e8fa302.jpg
       
    7. Make sure the LPX mixer does not have MIDI channels showing while in ALL mode, otherwise LPX will attempt to display perhaps thousands of available midi channels on the mixer and it may cause problems.
       
      mixertab.thumb.jpg.665cb36c0292ecd641ac6b3dabf72c9c.jpg
       

 

 

Logic Bug Explanation

 

More information about this LPX bug/flaw can be found here: viewtopic.php?f=1&t=137162

 

VSL's original multiport templates didn't work because of bugs in LogicPro. The environment transformer object does not properly transform events in some cases as intended. For example, with the following transform:

 

transform1.jpg.0644d7ac3ec7e3b3d8fc3ba417ca2d29.jpg

 

In the above transform, all incoming events are supposed to have CC99=1 event inserted in front of the original event. This mostly works, but not correctly. The CC99 ends up in front of every event, but the CC99 inserted in front of the NoteOff message does not get the fix operation working properly, it is always set to zero. And secondly, this seems to create an extra NoteOff message then is intended, resulting in confusion for the VEP AU plugin.

 

The work around is:

 

vepmacro.jpg.2300e80f68dfab772d731bf8136aee54.jpg

 

If anyone comes up with a simpler way to do it, please let us know.

 

TBD

  1. Update DOCS to PDF, for now use this forum thread as documentation
  2. Try to move VepMultiPort.pst logic into environment in order to eliminate script from the template
  3. feature that can monitor bandwidth to each VEP instance in order to spot bottlenecks easily that need to have tracks spread around to other instances.
  4. try to find a way to avoid assigning articulationID values to the CC99 messages in the environment macro.

Edited by Dewdman42

OSX 12.x (Monterey) on OpenCore - Logic Pro 10.7.4, VePro7, Mainstage3 - 5,1 MacPro 3.46ghz x 12 96gb ram

Link to comment
Share on other sites

Building your own template

 

The easiest way is to start with one of the provided templates and delete tracks until you have what you want. It can be advantageous to add some tracks as multiport to an existing project on an ad-hoc basis or to build up a custom template from scratch in any configuration you desire. If you use one of the provided "empty" templates, then you can create new tracks on an as-need basis and then right click on the track header to reassign track to to the appropriate VEP instance, port and channel (see instructions in first post).

 

This optional post will describe in a little more detail how the multi-port macro is used in case you want to really dive deep and build up something completely from scratch or add the macro to an already existing LPX project without being able to start from one of the provided templates.

 

  1. Each of the provided multiport templates has in the environment some layers that will have various multi instruments and cablings. Look for a default setup that looks something like this, which you will be recreating in your project on an ad-hoc basis:
     
    defaultenv.jpg.6d40c690d774f1ee27af7f0cc5d0b89b.jpg
     
  2. One particular object is of particular interest, the port macro:
     
    macro.jpg.2cc4e322535f68a5d52181f249fe34d3.jpg
     
  3. This object is a macro which does a lot of stuff under the covers. This is the key to the whole thing. Copy this object into your project (or start with one of the templates that already has at least one of them in there to start out). You can patch this port object anywhere into your environment that makes sense to you. It acts to add certain midi events to the stream such that if they are passed to the VEP AU plugin, then midi events will be channelized to the specified port#. The object is actually displaying a fader control, which means you can click on it and drag up or down to set the port number. Or you can type in a number.
     
     
  4. In order to use, you will need to cable up either an environment Midi Instrument, or a Multi-Instrument. Here is an example showing a MIDI Instrument that is cabled to the port object.
     
    usePort.jpg.94602efb60ba5ea39a581ffd43d8435e.jpg
     
  5. The next step is to cable the output of the port object to an instrument channel object in order to send the midi to the instrument of your choice. You should create an instrument track and put an instance of the VEP AU plugin on it as the instrument, as well as an instance of the Scripter midifx plugin with the VepMultiPort192.pst script loaded.
     
    strip.jpg.45a8d99c3868718d4e9a9cc12769b504.jpg
     
  6. Also make sure that MidiDataReduction Project Preference is turned off (not sure if this is needed).
     
    redux.jpg.2a377137a5fd7464db651887ca00cc9f.jpg
     
  7. Then in the environment cable the port object to the inst channel object that is hosting a VEP plugin. It will look like this:
     
    MyInst.jpg.84131de69d8360de7deb4b074d5c0851.jpg
    MyMulti.jpg.54fecbfe40b856385bc6725b5d8ea999.jpg
     
    At this point you have setup a midi instrument in the environment and you are cabling it through the port object and on to the instrument channel. The Port object will do the work needed to channelize all events to the given port#.
     
     
  8. Finally you will need to create a track and assign it to one of the MIDI Instrument or Multi-Instruments you created as above. You assign the track by right clicking on the tracker header and choose "reassign track", then find the one you want associate with the track.
     
    reassign.jpg.96fdf83c9e447caa301e15a962f917cb.jpg

 

At that point you should be good to go. Whenever you have that track selected, the specified port# will be injected into the midi stream in a way that will make sense for VEP.

 

You can create just as many MIDI Instruments or Multi-Instruments as you need for your project, thousands if you want. You can send the output of more than one port object to a single inst channel.

 

So here is an example with 4 ports feeding into a single VEP instance:

 

example.jpg.fde599b39987a8cb5b63f9ae6c8a6578.jpg

 

In the above example there are two MIDI Instruments and two Multi-Instruments, each with a different port# being assigned..and all feeding into one VEP instance as midi on 4 ports, with up to 16 channels per port available. In this example, the two MIDI Instruments will typically be set to a single midi channel, so this setup would result in a total of 16+16+1+1=34 midi channels, through the 4 ports in VEP.

 

You can also mix and match your project to include multi port where needed and other multi's without multi port to VEP instances without it. For example:

 

hybrid.jpg.753962e605e9f407cd0e842a8640a138.jpg

 

In the above, VEP instance 1 will have 16 channels in single port mode, VEP instance 2 will be using multi port mode with up to 2 ports and VEP instance 3 will be single port, for a total of 64 possible midi channels/tracks.

Edited by Dewdman42

OSX 12.x (Monterey) on OpenCore - Logic Pro 10.7.4, VePro7, Mainstage3 - 5,1 MacPro 3.46ghz x 12 96gb ram

Link to comment
Share on other sites

I’m enjoying the attempt to debug it and possibly fix. Anyone that wants to follow along is welcome. Your negative remarks are not productive

OSX 12.x (Monterey) on OpenCore - Logic Pro 10.7.4, VePro7, Mainstage3 - 5,1 MacPro 3.46ghz x 12 96gb ram

Link to comment
Share on other sites

This thread is about trying to get multi port to work properly, unless you have something productive to contribute on that end then yes you are being a rain cloud

OSX 12.x (Monterey) on OpenCore - Logic Pro 10.7.4, VePro7, Mainstage3 - 5,1 MacPro 3.46ghz x 12 96gb ram

Link to comment
Share on other sites

If you know some things about the environment then positive contributions would be welcome of course. Coming in to this thread and declaring the effort a waste of time according to you, is simply not in any way productive or helpful at all for this particular effort.

OSX 12.x (Monterey) on OpenCore - Logic Pro 10.7.4, VePro7, Mainstage3 - 5,1 MacPro 3.46ghz x 12 96gb ram

Link to comment
Share on other sites

Me again! VIC down so asking this here. Using your multiport environment solution is there a way to Mute/Solo each "Port" without using Auxes?

 

I cannot see a way to do this with the Event Input VSL solution as each track that is inserted is a Software Instrument track but the audio routes back through the main track thats hosting the VEP Server plugin.

Mac Pro 2 x 3.33Ghz 12 Core 2010

128 GB Ram (8 x 16GB)

OSX 10.12.6

SATA 3 SSDs

Logic Pro X 10.4

Kontakt 5.7.3, Play 5, VEP 6

Aggregate Device: TC Impact Twin, MOTU 828 MK2, RME RayDat

Link to comment
Share on other sites

What I think you can do in that case is do something similar to this multi port template, create in the environment an instance of midi instrument or multi-instrument and cable them to the channel holding input event plugin. Then reassign tracks to use the midi objects instead of directly to the channel object holding event input. Then you should be able to mute solo the actual midi before it hits the event input plugin

OSX 12.x (Monterey) on OpenCore - Logic Pro 10.7.4, VePro7, Mainstage3 - 5,1 MacPro 3.46ghz x 12 96gb ram

Link to comment
Share on other sites

Thanks will give that a go if I can get my head around it!

Mac Pro 2 x 3.33Ghz 12 Core 2010

128 GB Ram (8 x 16GB)

OSX 10.12.6

SATA 3 SSDs

Logic Pro X 10.4

Kontakt 5.7.3, Play 5, VEP 6

Aggregate Device: TC Impact Twin, MOTU 828 MK2, RME RayDat

Link to comment
Share on other sites

  • 3 weeks later...

New version 1.3 of the VEP MultiPort templates based on initial user feedback. (see first post)

 

  1. Added a Scripter script to each instrument channel which makes sure AllNotesOff messages get sent to all ports
  2. Added some Usage notes (see above), which are important, namely, turn off Midi Data Reduction option, make sure to use the above script, make sure VEP has enough ports configured to handle what's coming to it.

OSX 12.x (Monterey) on OpenCore - Logic Pro 10.7.4, VePro7, Mainstage3 - 5,1 MacPro 3.46ghz x 12 96gb ram

Link to comment
Share on other sites

Hello,

 

i'm trying to use your template but all i get is only one midi channel out, everything goes to ch1 when i'm using the VEP Ports. I just loaded your template so may be i missed something. I read your usage note but should the template be working right out of the box ?

Link to comment
Share on other sites

Hello, Any idea why my articulations are never sent on midi channel 1 with the multiport setup ? it's working fine with a regular multitimbral VEP instrument but as soon as i'm using it thru multiport, i can only send my articulations script from channel 2 and above. Im using AG articulations with program change.
Link to comment
Share on other sites

I don't own AG, so I can't test it out.. You might want to ask the AG support line about that. I'm presuming that AG requires the use of at least one Scripter script in order to do what it does. And so does the multi port template. Do you have them both going? Try switching around the order. I will try to put some thought into what happens with Program change to see if that is the reason, but I have no knowledge about the AG script to know if its compatible with VEP Multi Port encoding at all. Try asking AG support.

 

You might want to have them look at the section on this thread about midifx handling. I suspect AG has their own way of processing ports which may not be compatible with vsl multiport template, but could be adapted

 

Update: I have since purchased AG. Unfortunately I do not think it will be possible to use it together with the VSL multi-port macro workaround. In order for AG to cooperate with the multi-port macro it will need its generated scripts to recognize CC99 messages and handle them appropriately. The author of AG says he is working on his own multi-port solution so I do not think he will ever make AG compatible with VSL's multi-port macro.

Edited by Dewdman42

OSX 12.x (Monterey) on OpenCore - Logic Pro 10.7.4, VePro7, Mainstage3 - 5,1 MacPro 3.46ghz x 12 96gb ram

Link to comment
Share on other sites

  • 2 months later...
  • 2 months later...
Thanks for putting in the work on this Dewdman42! How has everyone been finding these fixes to the VEP Multiport situation? Is it stable enough to venture down the Multiport rabbit hole?

http://www.peterchapman.ca
Logic: Mac Pro 7,1 OS10.15.7 (3.2 GHz 16-Core 256 gigs) | VEP: PC something rather | Protools: Mac Pro 3,1 (2 X 3GHZ Quad-Core Intel Xeon, 64 GB Ram) | Logic 10.6.2 | Apollo quad/Solo/MOTU LP32 X 2 | Native Instruments S88

Link to comment
Share on other sites

A couple of people have responded to me privately with very positive results, but I would love to see more feedback here on the thread. I have only used it on one project and it seemed to work.

 

What are pros and cons of using the multi port macro?

 

  1. You can have fewer consolidated instances in VEP, making it easier to navigate and to have less separate mixes there. This is particularly beneficial when MIR is being used.
  2. You can have humongous templates with thousands of tracks in LPX, though you still have limitations about how many tracks at a time can actually be playing through any one VEP instance at the same time.

Edited by Dewdman42

OSX 12.x (Monterey) on OpenCore - Logic Pro 10.7.4, VePro7, Mainstage3 - 5,1 MacPro 3.46ghz x 12 96gb ram

Link to comment
Share on other sites

v1.5 update

 

Fixed some problems, the previous templates did not all have the most up to date script on all channels. In the process I have streamlined the templates in a way that makes more sense.

 

Now there is one large template called 12.instances.256.chans.3072.tracks.logicx which can be used to start any project. You can always just delete tracks you are not interested in using.

 

For convenience some smaller templates are also provided with less then 12 VEP instances.

 

There is also a new template provided here that does NOT require multi-port mode, but simply sets up the environment for 24 VEP instances and 384 tracks.

OSX 12.x (Monterey) on OpenCore - Logic Pro 10.7.4, VePro7, Mainstage3 - 5,1 MacPro 3.46ghz x 12 96gb ram

Link to comment
Share on other sites

v1.5 update

 

Fixed some problems, the previous templates did not all have the most up to date script on all channels. In the process I have streamlined the templates in a way that makes more sense.

 

Now there is one large template called 12.instances.256.chans.3072.tracks.logicx which can be used to start any project. You can always just delete tracks you are not interested in using.

 

For convenience some smaller templates are also provided with less then 12 VEP instances.

 

There is also a new template provided here that does NOT require multi-port mode, but simply sets up the environment for 24 VEP instances and 384 tracks.

OSX 12.x (Monterey) on OpenCore - Logic Pro 10.7.4, VePro7, Mainstage3 - 5,1 MacPro 3.46ghz x 12 96gb ram

Link to comment
Share on other sites

Update v1.6

 

Found a few bugs in the template, fixed those, also organized the multi instrument objects by layer so that its easier to use the reassign tracks function to assign midi tracks to instance/port/channel.

 

An additional template WITHOUT the multi port functionality is also provided as a convenience for those wishing to use simple multi's in LPX, that can connect to up to 24 VEP instances, on 384 tracks.

OSX 12.x (Monterey) on OpenCore - Logic Pro 10.7.4, VePro7, Mainstage3 - 5,1 MacPro 3.46ghz x 12 96gb ram

Link to comment
Share on other sites

Update v1.7

 

Updated the non-multi-port template. Now has 256 tracks feeding 16 VEP instances without any multiport. Previous version was missing some key environment objects related to metronome, etc.

OSX 12.x (Monterey) on OpenCore - Logic Pro 10.7.4, VePro7, Mainstage3 - 5,1 MacPro 3.46ghz x 12 96gb ram

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...