Hierarchy of Expression Maps, Endpoints and Playback Templates in Dorico 3.5


I am using the trial version of Dorico 3.5 and so far have been HUGELY impressed with the possibilities offered by good VSTi integration.

I have set up a solo violin XMap for EWSO Gold (Play x64) using the SVL KS Master patch and so far so good!

I created an Endpoint configuration for a string quartet, imagining that I could create the XMaps for the viola and cello the next day. I also set up a Playback Template.

The next morning I edited copies of the violin Xmap (to create Xmaps for viola and cello), hoping that the Endpoint and Playback Template would update along with them.

This doesn’t seem to have happened; I think there may be connections between the three (Xmap, Endpoint and Playback Template) that I don’t fully understand yet.

Can anyone shed any light?

MASSIVE congratulation to the development team - I have achieved more in a few days with regard to playback than I did in over ten years with Sound Sets!


Hi Grant. I’m glad you’re enjoying things so far. It’s useful to know that there’s a general principle in Dorico that a project is self-contained, and has all it needs to be displayed, printed and played back (notwithstanding external items such as fonts and plugins). This is intended to make it easier to transfer projects between multiple machines or sending a version to another person. It also means that you don’t accidentally change the playback of another project while you are editing the current one.

When you apply a Playback Template (including when it is applied automatically on creating a new project or adding a new Player), a copy of all the Expression Maps needed by that template are copied into the project from the ‘Default Library’. Any changes you make to the expression map stay in that project. If you create an Endpoint Config then the Expression Map from that project is saved in the config. When you apply a Playback Template, then the expression maps are imported from the endpoint configs if it doesn’t already exist in the project. If the version number of the expression map is higher then it will be updated.

In general, what I would recommend is to maintain projects for your section templates. So for example create a new string quartet project and set up the plugins and expression maps (you could apply the playback template that you already have). Add a variety of note lengths, dynamic levels and techniques, so you can use this as a testbed for your expression maps and plugin setup. Save this as ‘EWSO Gold String Quartet Template.dorico’. Export the endpoint config from this project. If you later want to make changes to the expression maps, change them in this project, increment the version number and re-export the endpoint config. In other projects that use the playback template, applying the playback template again should cause it to update to the new expression map. Or you can import (or drag & drop) it directly in the expression map editor.

We know that there are some missing bits at the moment in terms of making it easier to manage things in the default library and the project, that we hope to address in the future.

If you haven’t already, please have a look at the walkthrough for creating section templates in the sticky thread at the top of the forum.

Hi Paul. Thanks so much for your speedy reply. I have just done all that you suggested and everything is now working brilliantly!

I corrected the Expression Maps first. Then I made sure the Endpoint config was OK and saved both it and the project as a whole. I couldn’t see where or how to export it though - even after reading the online help document. I deleted my previous Playback template and made a new one with a new name. Just to be extra sure, I re-saved the entire project with a different name, including the new Playback Template.

It was instructive to see that the older project, even though it worked well, tried to load the deleted Playback Template when I restarted Dorico and tried to open the project. I was able to export the functioning Playback Template as a file, as well as jest select it to reapply to the older project (the one looking for the old deleted Playback Template. I tried to attached the .dorico file and the DORICO_PT file in case anyone had the inclination to have a look, but I got an error message.

I guess the composing can now begin, as well as further work in optimising my EWSO Gold library for my needs.

I will read your sticky thread very thoroughly indeed.

Thanks again for making the whole process so accessible, and also for your fast-becoming-legendary support.

Glad you’re up and running. There isn’t a way of exporting the Endpoint Config directly, but when you export a Playback Template then that will pull together the data from all the Endpoint Configs, as well as any custom playing techniques that you created.

Hi Paul,
I would like to cut in to this subject as I have a question that you may know the answer. I have created a playback template that generally has every instrument doubled or even tripled (like flute 1 and 2, oboes 1 and 2 down to double basses) to let me combine best instruments from different libraries to achieve the sound I need. Every VST instrument has its working EM and an endpoint. The problem that surfaced is that Dorico loads for every instance of a given instrument the first endpoint on the template list from a given category. Example: in playback template VST1 is EWQL flute and VST2 is Berlin Woodwinds flute, setup is FLUTE 1 and FLUTE 2 and Dorico loads EWQL flute to both flutes, instead of loading (and connecting) EWQL flute to FLUTE 1 and BWW flute to FLUTE 2. This generally happened to every doubled/tripled instrument in the setup, so instead of having trombone solo from EWQL, trombone ensemble from SAM and 3 trombones from VSL I got 3 times solo trombone from EWQL. The question is: do I do something wrong, is there something about it in the manual that explains how to avoid such situation or, for the time being, it is a beauty of Dorico 3.5?

I think this is a current limitation in the way that the endpoint configs are combined, but I think that you may be able to achieve what you need by defining the endpoint configs in a slightly different way. Try this and see if it helps:

  • Create a new project with 2 flutes
  • Load EWQL flute and Berlin Woodwinds flute and connect the two instruments to it
  • Save the single Endpoint Config for both instruments (ie use the export button at the bottom of the VST Instruments panel, not the export in the endpoint setup dialog)
  • Create a new playback template that uses this endpoint config
  • Now create a new project with 2 flutes and apply this playback template: you should have both plugins and the flutes routed correctly.

If this works then you can extend this and create a doubled woodwinds section with the EWQL and Berlin plugins for each instrument, and save that as your new woodwinds section endpoint config.

Hi Paul,
Thanks. I thought about such an option. If it works, it will cost me quite a loading, but it would be a solution for the time being.
For your consideration, I think that there would be an easy systemwide solution for this problem. Make automatic VST instruments loading optional with the possibility to set it on/off in settings. In case of “off”, clicking “apply and close” would make the template load all its VSTs with their EMs and stop there, while the user would be able to add instruments in required configurations and connect them manually. And then, as you suggest, save whole config as one endpoint. For the case of allowing automatic loading, Dorico would work as it does now.

Hi Paul
Since my last post I have watched the live stream with John and also his earlier (March 2019) hangout. I am working my way through your sticky post now and relating to info in the EWSO Gold manual. I have got up to ‘set the primary dynamic as appropriate for the library’. EW identify CC7(Volume) and C11(Expression) and describe the relationship nicely. My (quick?) question is: would you include both in an expression map? Is C7 primary and C11 secondary? I’m about to open Dorico to tinker…

I’ve attached my mindmap of the relevant section in the manual in case it helps anyone else.

In my experience, I’ve not found it very useful to have secondary dynamics for another CC - it ends up magnifying the effect of the dynamic, which in many cases can be quite excessive. It’s more useful for libraries that use both velocity and a CC to control the dynamic (eg I think some of the EW libraries do this). For those cases I’ve found it useful to reduce the range of the secondary dynamic (eg 64-127) to prevent it from too wild. YMMV - experiment and let us know what works best for you!

Hi Paul
I found that to be true, mostly at ppp level. I experimented with reducing the range of the secondary CC to 64-127. When this didn’t work, I was inspired by a little graph in the manual, and I reduced the note-on velocity range to 50-127. If this works the way I think it does, the a narrower range for the note-on velocity ‘squashes’ excessive magnifying effect of the secondary CC. This is the graph:
CC interaction.png
It refers to CC7(Volume) and CC11(expression) but I think it’s a numerical interaction anyway.

Another quick question: When creating an Add-on switch for Legato to utilise the EW Legato script, the Actions box has two MIDI values. Which is 0/127(off/on) and which is the CC68 message? Or is it to do with ‘on events’ and ‘off events’? This is one version I tried:

Hi Paul,
The recommended option worked, thanks. Nonetheless in the process Dorico had several hiccups, so, instead of wasting your time describing them I wanted to attach the diagnostics report, but system says it is too big. Any other way to do it?

What you have for the ‘on’ events is correct. You just need to add CC68 = 0 for the ‘off’ events, to turn off the legato. I’d also suggest adding CC68 = 0 to the Init events, so that when playback starts, the legato state is set back to off. Otherwise if you stop playback in the middle of a legato section, then next time you play it will have the legato on.

Can you describe what you mean by ‘hiccups’? The diagnostics file doesn’t always tell the context of what is happening.

Mostly hanging for some unknown reasons, either in work process or when closing. Once or twice it crashed. But putting these aside this finally is a good application with better things to come soon, I am sure.

On the subject of the title of this thread, I am curious if changes to an Endpoint Setup are automatically reflected in any Playback Templates that refer to them. In other words, does the Playback Template refer to the name of the Endpoint Only, and any reference to that Endpoint pulls the most current state of the Endpoint.

I believe this is the case, but I want to be sure.

Playback templates refer to the IDs of Endpoints. If you apply a Playback Template then it should pull the current version of the Endpoint Config.

Great, thanks Paul.

In a similar subject I would again search your advice. Having several different libraries I have created many Endpoints, a huge number of Expression and Percussion Maps and, of course, their corresponding playing techniques, in Engrave mode or directly within the right panel in Write mode. At the same time I have created a portable DAW on my MacBook Pro with the equivalent of Dorico/Cubase setup on it. Transferring templates and EM/PMs is not a problem, but I did not find a simple way to transfer all these playing techniques I have created. If I am not mistaken, there is no direct “export” option in Engrave mode and I did not succeed in finding folder/file on my Mac containing this info.
Any help here will be most appreciated.

The simplest way is to bundle everything up into a playback template and export that, then transfer that to your other computer. Or simply take the project that contains that setup and use that as the basis for your new projects.

Hi Daniel,
That, of course, would be an option.
Thank you