Skip to content

Commit 9505f69

Browse files
committed
word wrap / lint
Signed-off-by: Owen Williams <owilliams@mixxx.org>
1 parent 7fcb53f commit 9505f69

1 file changed

Lines changed: 22 additions & 15 deletions

File tree

proposals/2025-12-02_controller_shared_data.md

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,17 @@
1010
* [Ability for controller to share data at
1111
runtime](https://github.com/mixxxdj/mixxx/pull/12199)
1212

13-
> TL;DR: Allow controllers mappings to set and retrieve variables of different data types in order to exchange them between the controller code and the engine. Think: ControlObjects of
14-
> arbitrary type that controllers can declare.
13+
> TL;DR: Allow controllers mappings to set and retrieve variables of different
14+
> data types in order to exchange them between the controller code and the
15+
> engine. Think: ControlObjects of arbitrary type that controllers can declare.
1516
1617
## Why
1718

18-
There are multiple scenarios where controller mapping scripts need to share and access data outside the container of their own controller script engine. This includes situations
19-
where some controllers expose more than one USB interface that need to communicate
20-
with each other, or when a DJ connects multiple instances of the same hardware
21-
to Mixxx.
19+
There are multiple scenarios where controller mapping scripts need to share and
20+
access data outside the container of their own controller script engine. This
21+
includes situations where some controllers expose more than one USB interface
22+
that need to communicate with each other, or when a DJ connects multiple
23+
instances of the same hardware to Mixxx.
2224

2325
### Pitfalls of the current solution
2426

@@ -86,15 +88,20 @@ a precommit check.
8688

8789
#### Entity
8890

89-
`Entity` is a logical value defined by the controller mapping definition or during the initialization of the mapping script (e.g. for readout of a serial number using MIDI commands). It
90-
can be like a Mixxx-style group ("`[Channel1]`") but it can be any arbitrary
91-
string. Many controllers will want to define something like `deck1` to refer to
92-
a device that can itself be assigned to multiple mixxx channels.
93-
For the case of multiple devices of the same type, it is intended to implement functionality to gather a unique device identifier in a later step. These will than be used as Entity to distinguish the identical devices.
94-
These identifiers include, but are not limited to:
95-
96-
- USB device serial number (only works for USB and not each manufacturer use unique serial numbers)
97-
- Operating system provided device identifiers like Container-ID on Windows or Location-ID on macOS
91+
`Entity` is a logical value defined by the controller mapping definition or
92+
during the initialization of the mapping script (e.g. for readout of a serial
93+
number using MIDI commands). It can be like a Mixxx-style group ("`[Channel1]`")
94+
but it can be any arbitrary string. Many controllers will want to define
95+
something like `deck1` to refer to a device that can itself be assigned to
96+
multiple mixxx channels. For the case of multiple devices of the same type, it
97+
is intended to implement functionality to gather a unique device identifier in a
98+
later step. These will than be used as Entity to distinguish the identical
99+
devices. These identifiers include, but are not limited to:
100+
101+
* USB device serial number (only works for USB and not each manufacturer use
102+
unique serial numbers)
103+
* Operating system provided device identifiers like Container-ID on Windows or
104+
Location-ID on macOS
98105

99106
The controller mapping decides how these entities behave and Mixxx does no
100107
enforcement of them. To reiterate: even if an "entity" "looks like" a Mixxx

0 commit comments

Comments
 (0)