ClyphX is no longer supported, it continues to be available but will not be updated any further.

ClyphX Pro has been rewritten from scratch especially for Live 10 compatibility (although will continue to work for Live 9.7 and upwards.

I think the list below more than covers why it's an investment of 39 Euros, although be aware that this price is not fixed forever.

What is ClyphX Pro?
Let's start with what it's not. ClyphX Pro is not an updated version of ClyphX with Pro simply stamped on it - it's an entire rewrite from the ground up. For a variety of technical reasons, a rewrite was necessary to enable new and essential functionality as well as make existing functionality work in a more sensible way.

That said, ClyphX Pro externally shares much in common with its predecessor, but internally accomplishes it all in a much more refined way. Of course, ClyphX Pro includes a lot of new functionality as well. More importantly though, ClyphX Pro is designed to be easier to use. To that end, you'll find more standardization across Actions (for example, you could ramp tempo, you should also be able to ramp other stuff like volume), drastically improved documentation, Live lessons with example sets and less 'gotchas' meaning that previously existing limitations that defied expectations (such as the Snap Action only being accessible to X-Clips) were removed. It's just a, well, more professional tool.

The following covers what is different about ClyphX Pro v1.0.0 as compared to the latest version of ClyphX.

Core Improvements/Additions:
- ClyphX Pro is designed as a library. This means that it can be used as a standalone script or it can be loaded by other scripts so that you don't have to use a dedicated control surface slot for ClyphX Pro. The same is true of ClyphX Pro XT scripts. The procedure for doing this is called retrofitting and is covered here.
- Added a new concept called Macros that allows you to define Action Lists in a file and then trigger those Action Lists by using the name you gave to the Macro. This is especially useful in the case of X-Clips as it allows you to trigger long Action Lists via a single word.
- Added a new concept called Quasi Continuous Parameters that allows certain properties (such as Tempo and Clip Loop Start) to be treated like Continuous Parameters.
- All Continuous and Quasi Continuous Parameters can now be multiplied, reset, randomized and ramped.
-The syntax for specifying ranges to operate on has been improved to allow for broken ranges (like 1, 3, 5) and mixed ranges (like 1, 3, 5, 7-10, 15) and is used throughout the library.
- The handling of nested Devices has been drastically improved throughout the library.
- In any case where applying an Actions to some object by name (instead of strictly by number) would be possible, it now is possible.
- All X-Triggers can now assign/reassign User Variables and Macros.
- X-Clips no longer need to be in a playing state for at least 100 ms in order for their Action List to be processed.
- X-Controls can now handle LED feedback.
- The Actions in a PSEQ Action List can now be stepped through randomly by using (RPSEQ).
- The Actions in an LSEQ X-Clip can now be stepped through randomly by using (RLSEQ).
- The CSLinker functionality was replaced by the script linking functionality from Arsenal, which allows you to link up to 6 scripts in various ways.
- Settings files are now stored in your user directory so that you don't need to back them up when updating to a new version. There are also now multiple settings files (one for X-Controls, one for Macros, etc) instead of one big settings file.
- The manual has been overhauled and is now joined by Live lessons including example sets and references, which we'll be adding more of over the course of the beta.
- Installers are now provided.

Syntax Changes:
- On and off Action Lists are now separated by a colon instead of a comma.
- The X-Control Override syntax was removed as that can now be done in more powerful ways via Macros.
- When specifying the name of something in an Action List, the name now needs to be in quotes (like IN "Computer Keyboard").
- To apply Actions to specific objects (such as Devices) or ranges of objects, the specification needs to be enclosed in parentheses (like DEV(ALL) RESET). This doesn't apply to specifying Tracks however. That syntax remains the same.
- To apply Clip Note Actions to specific pitches or ranges of pitches, the specification needs to be enclosed in parentheses (like CLIP NOTES(C3-C4) CMB).
- User Variables are now always enclosed in percent signs, even when being assigned/reassigned.
- SysEx messages to use in Macrobat MIDI Racks are now specified completely in decimal and in a plain settings file.

Global Action Improvements/Additions:
- LOOP <x or >x is now based on Bars instead of Beats.
- ADDAUDIO and ADDMIDI will now create Tracks to the right of the selected Track by default.
- RPT now supports rates down to 1/64 and dotted rates. Note Repeat state and rate are also shown in the Status Bar upon changes.
- Record Quantization (RQ) and Swing (SWING) values are now shown in the Status Bar upon changes.
- Added FOLLOW for toggling or turning Follow on/off.
- Added REINIT Action for reinitializing Macros and Variables.
- Added SATMR for re-enabling automation.
- Added SELP for adjusting the selected parameter.
- Added WAIT and WAITS, which can pause an Action List and resume it after the wait time (in ms or bars respectively) has elapsed.
- (Live 10 only) Added CAP Action for triggering Capture.

Scene Action Improvements/Additions:
- Scene Actions now actually launch Scenes instead of all of the Clips on a Scene.
- DELSCENE and DUPESCENE were renamed to SCENE DEL and SCENE DUPE for consistency with similar Actions.
- When triggered via an X-Clip, ADDSCENE, SCENE DEL and SCENE DUPE will stop the X-Clip to prevent the Actions from being retriggered.
- ADDSCENE will now create Scenes below the selected Scene by default.
- Added CAPSCENE for triggering Capture and Insert Scene.
- Added SCENE COLOR Actions for coloring Scenes.
- Added SCENE NAME Action for naming Scenes.

Browser Action Improvements/Additions:
- LOAD Actions will now show what is being loaded in the Status Bar.
- Added LOADCLIP, LOADDRUMS, LOADPLUG, LOADSAMPLE and LOADSOUND.

Track Action Changes/Improvements/Additions:
- Removed DELDEV, which is now a Device Action (DEV DEL) and can be applied to ranges of Devices.
- DEL can now delete Return Tracks.
- FOLD can now fold/unfold Drum Rack and Instrument Rack Tracks.
- All variations of the PLAY Actions now support custom random ranges.
- Added COLOR Actions for coloring Tracks.
- Added REMSTOP Actions for removing stop buttons.
- Added PLAY RNDC, which will strictly launch Clips, not empty Clip Slots.

Device Action Improvements/Additions:
- It is now possible to operate on ranges of Devices, deeply nested Devices, entire Chains and entire Racks.
- It is now possible to operate on Device parameters by name.
- The DEV SET X Action now supports using CUR to leave a Macro's value unchanged.
- Added DEV FOLD for toggling the folded state of Devices.
- Added DEV PRESET Actions for selecting/navigating presets of plugins.
- Added DEV SHOWCH for toggling the visibility of the Devices on a Rack's chains.

Drum Rack Pad Action Changes/Improvements:
- The names of these Actions were changed to DEV DR PAD (instead of DR PAD).
- It is now possible to operate on any Drum Rack on a Track (instead of just the first Drum Rack).
- It is now possible to operate on ranges of Drum Rack Pads.
- All of the Device Chain Actions can now be applied to the visible Pads in Drum Rack.

Snap Action Changes/Improvements:
- The Snap data format has changed and is not compatible with Snaps stored with ClyphX. On the bright side though, the new format means that we can add new data without breaking Snaps created before that data was added.
- Snaps now use the range and nested syntax used by Device Actions to allow for explicit control over which Device(s) are included in Snaps.
- Snaps are no longer stored in X-Clip names. Snaps are now stored within the Set.
- You can now opt to have the MIX+ and MIX- Modifiers store Arm and Monitoring status via a new setting in Preferences.txt.
- Snaps can be stored/recalled from any X-Trigger.
- Snaps can be recalled with ramping without the need for the Snap Track.

Clip Envelope Action Improvements/Additions:
- These Actions now use the range and nested syntax used by Device Actions to allow for explicit control over which Device(s) envelopes are inserted/captured for.
- CLIP ENVINS Action will now, by default, insert a single point envelope (same as CLIP ENVCAP inserts).
- It is now possible to insert single point Envelopes for parameters that are quantized as well as Track Mute.
- The SAW envelope type now inserts a proper saw envelope.
- When specifying envelope min and max values, you can now use CUR in place of a value to specify the parameter's current value.
- Added TRI envelope type.

Clip Note Action Improvements/Additions:
- CLIP NOTES INV now works just like the corresponding function in Live.
- Added CLIP NOTES SEMI for transposing Notes.
- Added CLIP NOTES VELO RNDX-Y, which will randomize the velocity of Notes within a custom range.

Control Surface Action Changes/Improvements/Additions:
- The names of these Actions were changed to CS n (instead of CSn).
- Track-based Actions triggered from within these Actions now support proper Track ranges.
- The BANK Actions now use < and > instead of strictly numbers.
- Added DEV BANK Actions for navigating/selecting Device banks.

Arsenal Action Changes:
- These Actions no longer use the first underscore. So, instead of ARSENAL_AP4_A SCL INKEY, you'll now use ARSENAL AP4_A SCL INKEY.

User Action Improvements:
- The API for creating User Actions has been drastically simplified and made more flexible. Specifically, you can now easily create User Action of different types and ClyphX Pro will handle all the heavy lifting for you. For example, if you create a User Clip Action, ClyphX Pro will pass you the Clip to operate on.
- It is now possible to have multiple files containing User Actions.

User Variables Changes:
- Can now use simple if/else statements in Expressions.
- Can now access built in variables. For now, only bpm (the current Tempo) and time (the current date and time) are available, but more will be added as we see what users want.

Macrobat Changes/Improvements/Additions:
- The names of all Macrobat racks have been changed (abbreviated) and now need to be identifiers (in brackets) as do their Macros.
- Macrobat racks now get connected/setup upon changing names of Racks or Macros, so no need to reselect Racks/Tracks to initialize them.
- The Chain Mix Rack can now control Chain Sends.
- The Learn Rack can now exist on any Track and can be locked to the parameter it's currently controlling.
- The Track Rack now has a 0db option for Volume.
- The DR Rack is now the Selected Chain Rack and can now be used with any Rack, can control transpose Drum Rack Pads and has a 0db option for Volume.
- Added Snap Rack (replaces the old ClyphX Snap Rack), which can exist on any Track. Each of its Macros can morph a stored Snap and you can have as many of these Racks in your Sets as you like.

Removals (some of which may return in a future update):
- Looper Actions.
- PXT and MXT Actions.
- From Global Actions: SETFOLD, UNARM, UNMUTE, UNSOLO. These can all be done via Track Actions (like ALL/MUTE OFF).
- From Drum Rack Actions: DR UNMUTE and DR UNSOLO. These can be done via Device Chain Actions (like DEV CH(ALL) MUTE OFF).
- From Clip Note Actions: CLIP NOTES SCRN as it does the same thing as CLIP NOTES SCRP.
- From Control Surface Actions: METRO due to compatibility issues.
- From Push Actions: DRINS as it no longer makes sense and SEQ due to compatibility issues.
- From Macrobat: Sidechain Rack due to not being practical as it would hose undo history and Push Rack and DR Multi Racks as they weren't very useful.
- The Snap Track as it's no longer needed and the Snap Rack, which is now part of Macrobat.
- Several settings from UserSettings that were no longer useful.
- Push emulation.
- Browser interface for M4L.

I'm happy that Stray finally is asking money for ClyphX, because that makes it more likely that it is going to be supported for a longer period. I can't count the freebies that I used to love that aren't supported anymore. ClyphX is one incredibly powerful beast, and essential to my workflow and live approach.

I remember that Chaplier Fou once wrote how much easier his life on stage could be if he used ClyphX, but he didn't trust its sustainability since it was a freebie and he didn't want to rely on it. I guess those times are over now, and 32 Euros is not too much for that security.

one thing that makes me wonder though: is there any benefit from having it run in m4l now over the previous approach? I found the remote script version really elegant and lightweight (without having any knowledge about coding that is ). my only gripe with the original so far was lag in execution after triggering an Xclip, but there always have been workarounds.

EDIT: looks like I misunderstood couple of things. ClyphX is at its core still user remote scipt based right?

h3rtz wrote:
I remember that Chaplier Fou once wrote how much easier his life on stage could be if he used ClyphX, but he didn't trust its sustainability since it was a freebie and he didn't want to rely on it. I guess those times are over now, and 32 Euros is not too much for that security.

Funny that you remembered this !
For the last 4 years now, i've been using a m4l patch that i wrote and allows me to solve 95% of the limitations i felt in Live. I never had a problem with it, it allows me to automate scene changes, recall previously recorded clips, stop clips, automate tempo, time signature, arm or unarm tracks, switch OVR on and off, etc...and can be disabled at wish when i want to go outside the "normal" song scenario.
So it's still no native solution, but since i developed it on my own, i'm the only one to blame if it doesn't work properly.

I am not so familiar with CliphX, so let me ask : am i right to assume that ClyphX triggers actions on the launch of a clip ? Or you can program a sequence of actions, triggered on a time grid ?

h3rtz wrote:
I remember that Chaplier Fou once wrote how much easier his life on stage could be if he used ClyphX, but he didn't trust its sustainability since it was a freebie and he didn't want to rely on it. I guess those times are over now, and 32 Euros is not too much for that security.

Funny that you remembered this !
For the last 4 years now, i've been using a m4l patch that i wrote and allows me to solve 95% of the limitations i felt in Live. I never had a problem with it, it allows me to automate scene changes, recall previously recorded clips, stop clips, automate tempo, time signature, arm or unarm tracks, switch OVR on and off, etc...and can be disabled at wish when i want to go outside the "normal" song scenario.
So it's still no native solution, but since i developed it on my own, i'm the only one to blame if it doesn't work properly.

I am not so familiar with CliphX, so let me ask : am i right to assume that ClyphX triggers actions on the launch of a clip ? Or you can program a sequence of actions, triggered on a time grid ?

Yeah easy one to remember since I went down the opposite road and thought, well if Mister Fou is right then I'm f***ed . So, I'm happy that didn't happen...

I Can't really be bothered to pick up M4L, I simply want to use that little amount of time I have left a day for creating music and not coding, though I'm heavily interested (and to some very simplyfied degree, ClyphX is coding too...).

About triggering XClips, it depends on your settings in Live and whether or not launch quantisation is enabled. XClips trigger actions as they start playing as mentioned by S4racen, so that could mean that the action is kicked off the moment you fire the clip or, if you have launch quantisation on, when it actually starts playing according to grid. I have had scenarios where I had to set up XClips with different quantisation settings triggering each other to get to the desired timing (mainly due to lag), but I could eventually solve every problem. Oh, and you can also set up XClips to start the action when they stop playing, so you can time actions very precise by simply adjusting the length of the clip.

I mainly use it to select and arm the clips (not only tracks) that I want to record into, so I only have to have one footswitch for live looping, and to jump to previously recorded clips in a set. Also useful for changing multiple parameters in the same time and, super helpful, setting every single parameter in the set back to default at the push of a button, so I can tweak away like crazy and always find my way back out of the chaos

Thanks for sharing.
@S4racen : curious to see if the Drum Rack approach is the same that i use in my patch. My patch gathers all API call that i would need and are triggered by specific notes (+ velocities if needed). And i use a "dummy" drum rack just as a "cheat sheet" to have the names of the functions displayed on the clip. This is ideal to sequence events within a clip.

Sounds pretty similar to how I did it. The Drum Rack isn't a "cheat sheet" though as the names of the pads actually dictate what ClyphX Pro actions will be triggered. And the names are constantly observed so that they can be changed on the fly to trigger different actions. That way, users never need to change things in the M4L device, just the names of Drum Rack pads.