Jump to content

Can this be done without the environment


musicman64

Recommended Posts

Hello all. I have a rather special role for logic to play. My sequencing computer (S) is not the computer where logic resides (L). L serves as an ultra synth and sample player. That means it does not generate midi itself in any way. Midi data comes from S and via the environment (see picture) by means of a splitter I direct incoming midi data to the correct instrument. The audio produced then goes out via an 828 to the main installation of S. Now I have been trying to achieve this without using the environment but I could not do it. I've used a scripter to direct correct channels but the instruments now only react when they are selected.

PS I have not read the complete manual, just some passages which I thought relevant. Apologies beforehand if this is trivial. 🙂

Screenshot 2024-02-25 at 08.34.31.png

Link to comment
Share on other sites

If you're running an up to date copy of Logic, you can simply specify the input MIDI ports/channels for each instrument track in the main window, you don't need the environment for this.

Alternatively, why not instead use Mainstage for the playback of instruments, instead of a copy of Logic? It's what it's designed for, and has a nicer interface for routing etc.

  • Like 2
Link to comment
Share on other sites

Since you’re not using the logic sequencer you can cable the input ports directly to the channel strips in the environment and then they will be receiving all the midi regardless of any track channel settings.  However since you are using different midi channels then you will need to filter out the undesired midi channels from each channel strip.  They could be done in the environment also or it could be done with a simple scripter script to determine which midi channel to allow through in each case

  • Like 1
Link to comment
Share on other sites

Thanks Dewdman42, I'll look into this. I see you also use the environment. My setup has always worked perfectly and as long as the environment exists I think I will just leave well alone. My concern is once Apple "in its infinite wisdom" decides that the environment has to go (they already mention it as legacy in the manual) I'd like to have a viable alternative. Cheers, Bob.

Link to comment
Share on other sites

4 minutes ago, musicman64 said:

Thanks Dewdman42, I'll look into this. I see you also use the environment. My setup has always worked perfectly and as long as the environment exists I think I will just leave well alone. My concern is once Apple "in its infinite wisdom" decides that the environment has to go (they already mention it as legacy in the manual) I'd like to have a viable alternative. Cheers, Bob.

I wouldn't worry just yet, they've been trying to hide it a little further in more recent versions but I doubt they'll retire it completely as a lot of Logic users still rely on it and it's still useful to many power users for all sorts of applications. Worry about it when that day comes (you'll still have time then to find a workaround before you upgrade), as it may never come. 

What I would consider is if simplifying your workflow to a single machine could work for you. Of course, you may have perfectly valid reasons to continue working with a 2 machine setup (and I know it can have advantages) but if you don't then a 1 machine setup also has many advantages, biggest of which would be streamlining your setup, workflow, connexions, physical space etc. 

I've helped a lot of composers with multi-machine setups (I remember a composer who had one Mac master with 5 PC slaves) back in the day, MIDI over IP and routing all the audio back from the synth/sampler PC slaves (running Gigasampler) back to the master Mac machine which was also running Pro Tools for mixing... IMO it made sense a long time ago but for many of us, it makes less sense today. 

But again, to each their own, and if you're used to working like that then that may be a good reason to leave well enough alone. 

Just food for thought if Logic ever retires the environment and you have to consider changing your workflow. 

  • Like 1
Link to comment
Share on other sites

Thanks for your considerations David. My problem is that my main machine is a MacPro from 2010 running Mountain Lion because that is the last OS my Protools 10 HD3 can work on. On that machine there is not much new I can install and doing away with it would be costly. Also there is no way that I would go to the Protools "pay per month" scheme they now have. I have very many TDM plugins on that machine and again that investment would be lost. Fortunately I know some good technicians who can fix my Mac Pro should anything go wrong with it. So I am sticking to what I have got. But thanks again for reassuring me concerning the environment!

Link to comment
Share on other sites

12 hours ago, musicman64 said:

It only reacts to incoming midi on a selected track or if you put all tracks in record mode.

or if you put them all into a summing track stack and select/rec enable the stack‘s main track 

Edited by polanoid
typo
  • Like 1
Link to comment
Share on other sites

I think the suggestion of using a summing track stack would be the right way to go.  You just have to to make sure that you keep the folder collapsed in the tracker header list, so that only one row is showing and if that is the only row in the main arrange window, it will be always selected and always sending midi through to the underlying sub-tracks.  set each of them with different midi in/out assignments, and set the midi channel of the summing stack to ALL.  It works.  But keep that summing stack collapsed to ensure its the only selectable track and you should be able to load the project and it will always be ready without having to select the track or enable record.  If you really want to be safe you could actually HIDE the underlying sub-tracks of that summing stack.

what you are really wanting is a "rack" of instruments that is not funneled through the sequencer.  if you are careful about setting up the track stack, that should work, but if you really want to make sure that you don't have to worry about the track header being selected, more of a direct wire of midi input to the "rack" so to speak.  I can't really think of any way to do that which doesn't involve going into the enviornment and cabling around to bypass the sequencer object.

Mainstage should really be on your short list for this because that is exactly what Mainstage is, it doesn't have a sequencer, and all midi input goes directly to the mixer where instruments are hosted in instrument channels.  Mainstage has been coded with emphasis on live performance and allegedly may have lower latency and perhaps better use of CPU for live use compared to logicPro which is optimized for sequencer playback.  Also, in Mainstage you can setup sets of patches with a set list and each patch can be a completely unique mixer setup with instruments and FX however you want.  So basically if you are keen on running your sequencer from another computer, Mainstage will be honestly a much better tool for this.  It has all the LogicPro internal instruments if you care about that also.  And it can respond to program change for switching which patch is currently enabled, so your other sequencer machine could fire off program change messages to it to select which mixer setup you want.  Honestly that is just going to be a way better solution for you.  No environment and you don't have to worry about making sure any track header is selected or record-enabled.

 

 

 

 

  • Like 1
Link to comment
Share on other sites

11 minutes ago, Dewdman42 said:

You just have to to make sure that you keep the folder collapsed in the tracker header list, so that only one row is showing and if that is the only row in the main arrange window, it will be always selected and always sending midi through to the underlying sub-tracks

Manually record enabling the stack's main track by clicking its "R" button should do the trick as well, changing the track selection will not alter that rec enable state then

  • Like 1
Link to comment
Share on other sites

14 minutes ago, Dewdman42 said:

set each of them with different midi in/out assignments,

Ouch, that will indeed be the problem, I just noted this little sentence in the OP's posts: "my main machine is a MacPro from 2010 running Mountain Lion"... so that won't be possible, you will at least need Logic 10.7 

I guess Mainstage is indeed something to consider then.

  • Like 1
Link to comment
Share on other sites

in which case, use a scripter script to isolate the midi channels, just set them all to ALL.  I can share a script momentarily that i have laying around that can do this.  

The point is not having to either select a track nor click on the R button.  I think he just wants to load the project and know that it will be playing back sound from midi immediately without having to do anything.  the point of limiting to a single collapsed track stack is that nothing has to be done to enable it to work.  Load the project and that single track stack will be selected by default and record enabled.

But honestly my recommendation is still to use Mainstage.  This is what Mainstage is designed for and its not an expensive program.

 

 

  • Like 2
Link to comment
Share on other sites

function HandleMIDI(event) {
   let chan = EXT.GetParameter(0);
   if(event.channel == chan || chan==17) {
       event.send();
   }
}

var PluginParameters = [];
PluginParameters.push({
   type: "menu",
   name: "Channel",
   valueStrings: ["OFF","1","2","3","4","5","6","7","8",
                   "9","10","11","12","13","14","15","16","OMNI"],
   defaultValue: 1,
   disableAutomation: true,
   hidden: false
});

var EXT = {
  data: [],
  SetParameter: function(id, val) {
      if(typeof id != "string") id = PluginParameters[id].name;
      this.data[id] = val;
  },
  GetParameter: function(id) {
      if(typeof id != "string") id = PluginParameters[id].name;
      if(this.data[id] == undefined) {
          this.data[id] = GetParameter(id);
      }
      return this.data[id];
  }
};
function ParameterChanged(id, val) {
  EXT.SetParameter(id, val);
}

Above is a script, put it on each instrument channel and use the Script GUI to set which midi channel it should listen to. 

Then setup summing track stack, set all of them to midi channel ALL.   Make sure to colapse it, possibly hide the sub tracks to make sure they won't be accidentally selected and then you should be able to open the project and hear it work.  No environment.

I still recommend Mainstage though.

  • Like 2
Link to comment
Share on other sites

A big thanks to all for your great suggestions. Just to make things clear, I am at the moment going with a new mac mini for logic in the hope to eventually being able to let go of the old machine, but that might still be a while since there are things that only run on the old OS. So my question was really premature in the sense that at the moment everything is working fine, it is just that I had the feeling that in future Apple might decide to drop the environment. So I will be leaving well alone on the old machine for the time being, but I am actively figuring out Mainstage on the new one since that at the moment seems to be the most promising venue. If I succeed in setting it up I'll let you know 🙂.

Cheers, Bob.

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.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  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.

×
×
  • Create New...