aboutsummaryrefslogtreecommitdiffhomepage
path: root/README.md
diff options
context:
space:
mode:
authorcbdev <cb@cbcdn.com>2020-08-09 14:16:03 +0200
committercbdev <cb@cbcdn.com>2020-08-09 14:16:03 +0200
commitee055791d1430187ec175c3f065398460a5acf6b (patch)
tree29796c9de60e440e3d29333d68e4f7370a1c6e5a /README.md
parent7a00b8fda337ad38cfba4689dd5fc07686783158 (diff)
downloadmidimonster-ee055791d1430187ec175c3f065398460a5acf6b.tar.gz
midimonster-ee055791d1430187ec175c3f065398460a5acf6b.tar.bz2
midimonster-ee055791d1430187ec175c3f065398460a5acf6b.zip
Implement list-type multichannel specification (Fixes #67)
Diffstat (limited to 'README.md')
-rw-r--r--README.md19
1 files changed, 13 insertions, 6 deletions
diff --git a/README.md b/README.md
index 161fcaa..ea079bf 100644
--- a/README.md
+++ b/README.md
@@ -122,18 +122,25 @@ The last line is a shorter way to create a bi-directional mapping.
### Multi-channel mapping
-To make mapping large contiguous sets of channels easier, channel names may contain
-expressions of the form `{<start>..<end>}`, with *start* and *end* being positive integers
-delimiting a range of channels. Multiple such expressions may be used in one channel
-specification, with the rightmost expression being incremented (or decremented) first for
-evaluation.
+To make mapping large contiguous sets of channels easier, channel names may contain certain
+types of expressions specifying multiple channels at once.
+
+Expressions of the form `{<start>..<end>}`, with *start* and *end* being positive integers,
+expand to a range of channels, with the expression replaced by the incrementing or decrementing
+value.
+
+Expressions of the form `{value1,value2,value3}` (with any number of values separated by commas)
+are replaced with each of the specified values in sequence.
+
+Multiple such expressions may be used in one channel specification, with the rightmost expression
+being evaluated first.
Both sides of a multi-channel assignment need to have the same number of channels, or one
side must have exactly one channel.
Example multi-channel mapping:
```
-instance-a.channel{1..10} > instance-b.{10..1}
+instance-a.channel{1..5} > instance-b.{1,2,3,4,5}
```
## Backend documentation