M:S/M:C : Logic Pro MIDI Scripter SOLO / MUTE per Pattern

After a first try in the LPX Environment (somewher here), I go for a MIDI Scripter module version, with more fun:

This tool let you use MUTE on Models:Sample and Models:Cycle as SOLO buttons. SOLO’s can be ‘Toggling’ (regular solo) or ‘Stacked’ (cumulative).

The module also allow to set a MUTE configuration per each pattern.

README:

THIS SCRIPTER MODULE ALLOWS TO USE THE MUTES OF MODEL:SAMPLES & MODEL:CYCLES AS A SOLO FUNCTION

  - TWO MODES ARE AVAILABLE :

	- STACKED : multiple tracks can be SOLOed at the same time. A track stay SOLOed
	  until you press the resp. track again. The module keep memory of the previously
	  SOLOed tracks, so after un-SOLOing a SOLOed track, all previously SOLOed tracks
	  remain SOLOed until you press them back again.

	  Note: if all the 6 tracks are SOLOed, then SOLO status is removed for the 6 tracks.

	- TOGGLING MODE : (radio button) only one track can be SOLOed at the same time:
	  SOLOing a track mutes all other, whatever was theirs previous states.
	
	TOGGLING MODE is the most intuitive, but STACKED one could allow more creative patterns
	transitions...

	You can switch from one mode to another from the M:S/M:C using the FADE parameter of Track 1
	(LFO Setup page), or configure any other CC to do so.

	The module also allow to set mute states per pattern, so a pre-configured tracks mute setup is
	recalled as you change pattern on the M:S/M:C :

	- Toggle EDIT mode using the EDIT checkbox (playing should be stopped).
	- Set your mute config using the M:S/M:C track's pads. The 6 squares below reflect your selection.
	- Use the 'Lock On Pattern' selector to pick up the pattern you want to assign the config to.
	Select more patterns if needed, changing or not the mute states before each new selection.
	- To delete a settled mute config, check the DELETE checkbox and use the same 'Lock On Pattern'
	selector.

	- Hint : Patterns you want to assign a config to can also be selected directly from M:S/M:C UI,
	  simply pressing twice the STOP button ( to select the current patern ) or selecting patterns
	  with PATTERN button. To delete a config from M:S/M:C UI, select again the target pattern.

	'Lock On Play' set to 'enabled' recall the mute config shown below each time you press Play from
	 Logic.

  	Some additionnal settings are only editable from within the script itself, see in the header
  	for the section labelled  "/* USER EDITABLE VARIABLES that are not editable from module
  	GUI */". Explanations are given in comments. Check them as some of this setting may need
  	to be edited to respond to your setup. If you edit the script, don't forget to press the
  	'Run Script' button again.

	LIMITATION: The Mute States per pattern won't be saved when you close the Logic project, and
	there is no way to do so with the scripter, unfortunatly, unless using 3456 separate UI
	parameters... If maybe the scripter can handle so many controls (I doubt), my 2012's
	hackintosh won't... Just wait for the C++ vst/au version ;-)

	ONLY TESTED USING USB PORT OF MODEL:SAMPLES & MODEL:CYCLES - Strange things may occur using DIN
	MIDI port with  'MIDI THRU' option active. Also the MIDI USB port is pretty faster than DIN
	MIDI, and as the MUTE events loop from and to the M:S and DAW, maybe delay will be
	perceptible with DIN MIDI...

			HOW TO USE

	On the Model:Samples/Cycles:
	-  All tracks have to be set to MIDI Channel 1 to 6, and have MIDI Out activated in TRK Menu
	-  If you use Direct Monitoring on the Audio track that record the device audio output,
	in Audio configuration menu of the Elektron device, set the 'Int Out' parameter either on
	'AUTO' or 'OFF'
	-  Logic must send MIDI Clock (Settings/Synchronisation/MIDI --> check "Clock" AND "MMC")

	To simply play Live, load the 'MODEL-SAMPLE_LIVE_MAIN OUT RECORD' template project available
	in the Git repository. Be sure that your Elektron device is connected with USB before loading
	the project so you would not have any routing configuration to do. If your device setup is
	different, click on the blue button of channel strip of first track (M:S MIDI) and verify
	that MIDI Destination is set to the MIDI port you have connected your device to. Then check
	that the track labelled M:S MASTER have its input set on the Audio Inputs you have connected
	your Electron device to.

Source code (Github):

[https://github.com/Graphmatic/Elektron-Model-Samples-Solo-Logic-MIDI-Scripter](https://code : Elektron-Model-Samples-Solo-Logic-MIDI-Scripter)

feel free to make suggestions or share your own ideas, I won’t go on with the MIDI Scripter, as it’s have a really limited API, and Javascript if/switch is boring as hell… Message from the past remembered me I know C++ too, so a VST/AU will be the next playground. We can hope this will allow to tweek deeper in the Models’ :slight_smile: