Skip to content

Commit 87ca73f

Browse files
committed
Call Liberation by its own name
- Liberation (https://liberationlaser.com/) is the laser software the lasers preset drives, an app of its own. The README's section and seven comments called it "Pangolin Liberation", which it is not; Pangolin is not supported. The README's heading links to Liberation's site, as does the header that describes its DMX Input.
1 parent 49a1aa4 commit 87ca73f

8 files changed

Lines changed: 10 additions & 9 deletions

File tree

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ address send does
109109
- A fixture with several heads moves them all. In a rule, tick which **heads** move, and slide **spread** to stagger them; a second rule can move the others.
110110
- **panic** freezes the lights where they are; **stop** and quitting black them out.
111111

112-
## Lasers (Pangolin Liberation)
112+
## Lasers ([Liberation](https://liberationlaser.com/))
113113

114114
1. Open the rules (**add a rule** or **edit rules** in the triggers row), then **select a preset** > **Liberation: lasers…**.
115115
2. Fill in the prompt: how many **lasers** (1 to 4), **Liberation's IP** (127.0.0.1 on this computer) and **port** (6454 unless you changed it in Liberation), where the **first zone** is in Liberation's universe numbering, and each laser's **clips from** and **to** as Liberation names them (`21-1`). Every clip between the two, in Liberation's deck order, is shuffled.

‎src/core/dmx/effect.hpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ enum class EffectKind : std::uint8_t {
7777
/// is seen to fade before the zone stops rendering. A laser left armed and dark would light
7878
/// again on the next level rule, which for a laser is not "ready", it is a beam waiting.
7979
Blackout,
80-
/// **One clip of a Pangolin Liberation zone's deck**, by its place in deck order
80+
/// **One clip of a Liberation zone's deck**, by its place in deck order
8181
/// (`Payload::clip`, `liberation::indexOf`): the zone armed, its intensity at `level`, and
8282
/// its Gobo Bank and Gobo Select set to the clip — all four at once, because Liberation
8383
/// renders a zone only when all of them say so (the operator, 2026-10-05: "it must be armed,

‎src/core/dmx/fixture.cpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ constexpr std::array<FixtureMode, 8> kModes{{
9292
{"LED par (6ch)", kParChannels, kParParked},
9393
{"moving head 8-bit (8ch)", kHead8Channels, kHead8Parked},
9494
{"moving head 16-bit (12ch)", kHead16Channels, kHead16Parked},
95-
// Not a lamp: one zone of Pangolin Liberation's DMX Input, the laser software's own profile.
95+
// Not a lamp: one zone of Liberation's DMX Input, the laser software's own profile.
9696
// See `liberation::kZoneRoles` for its channels and why each is parked where it is.
9797
{liberation::kZoneModeName, liberation::kZoneRoles, liberation::kZoneParked,
9898
liberation::kZoneLabels},

‎src/core/dmx/fixture.hpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ enum class Role : std::uint8_t {
7575
Cyan,
7676
Magenta,
7777
Yellow,
78-
/// **A laser zone's safety gate** — Pangolin Liberation's DMX Input renders a zone only while
78+
/// **A laser zone's safety gate** — Liberation's DMX Input renders a zone only while
7979
/// this is at 250 or more (`dmx::liberation`). Not aimable: a clip effect raises it with the
8080
/// clip it selects, and Stop, quit, a blackout, PANIC and the input going quiet take it back to
8181
/// 0 (the operator, 2026-10-05) — so nothing can leave a laser armed on a level of its own.

‎src/core/dmx/liberation.hpp‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@
1111
#include <string_view>
1212
#include <utility>
1313

14-
// Pangolin Liberation's DMX Input, as one of its zones sees it: what a Liberation zone is in the
15-
// patch, and how a clip of its deck becomes the two channels that select it.
14+
// Liberation's DMX Input (Liberation, the laser show software: https://liberationlaser.com/), as
15+
// one of its zones sees it: what a Liberation zone is in the patch, and how a clip of its deck
16+
// becomes the two channels that select it.
1617
//
1718
// **The source of truth is Liberation's own "DMX Input Fixture Profiles" document** (dated
1819
// 2026-05-14, shipped with Liberation 1.2.1 Build 96 and unchanged through 1.4.0 Build 103). A

‎src/core/trigger/rule.hpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ struct Message {
170170
/// **Note On and Note Off are separate kinds, and that is not tidiness.** Until
171171
/// 2026-09-12 the only note status on the wire was `0x90`, and a release was that with
172172
/// velocity zero — which `rule_sink.cpp` justified as "a note-off on every device made
173-
/// since 1983". It is not: the operator's laser controller (Pangolin Liberation) holds
173+
/// since 1983". It is not: the operator's laser controller (Liberation) holds
174174
/// its clip until a real `0x80` arrives, so a rig built on the velocity-zero convention
175175
/// never released. The convention is common, not universal, and a sender cannot tell
176176
/// which end it has. So takt4 sends what the standard says, and a release of a `MidiNote`

‎src/ui/rule_presets.hpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ inline constexpr std::array<const char*, 5> kRigPresets{
8484

8585
// --- Liberation ---------------------------------------------------------------------------
8686
//
87-
// Pangolin Liberation's lasers over Art-Net, driven the way the operator's Chataigne module
87+
// Liberation's lasers over Art-Net, driven the way the operator's Chataigne module
8888
// drives them (2026-10-05): a zone renders only while it is armed, lit and has a clip, so a clip
8989
// effect sets all three at once (`dmx::EffectKind::Clip`). **Not a rig that can be added blind**:
9090
// how many lasers, which clips, where Liberation is and where its zones are patched are the

‎tests/output/rule_sink_test.cpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ TEST_CASE("a rule with nowhere to send is counted, not silent", "[output][trigge
115115

116116
TEST_CASE("a released note puts a real note off on the wire, not a note on of zero",
117117
"[output][trigger][midi]") {
118-
// The operator's laser controller (Pangolin Liberation) holds its clip until 0x80
118+
// The operator's laser controller (Liberation) holds its clip until 0x80
119119
// arrives. This file used to assert the opposite in a comment — "a note with velocity
120120
// zero is a note-off on every device made since 1983" — and the rig never released.
121121
CHECK(takt4::output::midiStatusFor(Message::Kind::MidiNote, 1) == 0x90);

0 commit comments

Comments
 (0)