🎚️ HYDRA SANITY - fix for improved MIDI feedback routing for multi-device setups using MIDI OUT 1 / 2 / 3

:hammer_and_wrench: Global Settings & Engine Controls

Global settings managing the tool’s core processing and MIDI routing.

  • :red_circle: [ RESET ALL CC ]
    Delete all mapped MIDI CCs (Global and for all Hydras).
  • :red_square: [ STOP ENGINE ] / :black_large_square: [ START ENGINE ]
    Toggle MIDI monitoring and processing engine.
  • :blue_square: [ PADs tool ]
    Open ‘MIDI PADs to Control Tracks’ external tool.
  • :blue_square: [ MIDI ENC ] / :black_large_square: [ MIDI DEC ]
    Toggle Absolute / Relative MIDI Encoder processing mode.
  • :green_square: [ RESCAN ]
    Rescan song for Hydra devices, build cache and refresh GUI.
  • :red_square: [ PANIC ]
    Send ‘All Sound Off’ (CC 120) on all channels & trigger Renoise DSP Panic.

:control_knobs: Transport & Playback Modes

Main recording modes affecting Renoise transport behavior.

  • :red_square: [ PAUSE REC PLAY NOTE & Automation ] / :black_large_square: [ REC PLAY NOTE & Automation ]
    Activate Record mode for both Notes and Automation (Edit Mode ON).
  • :orange_square: [ PAUSE REC PLAY Automation ] / :black_large_square: [ REC PLAY Automation ]
    Activate Record mode for Automation only (Edit Mode OFF).
  • :brown_square: [ PAUSE (Safe Listen) ] / :black_large_square: [ PLAY / PAUSE (Safe Listen) ]
    Play track with all REC states temporarily disabled to safely listen without writing.
  • :orange_square: [ FOLLOW ON ] / :black_large_square: [ FOLLOW OFF ]
    Toggle Renoise ‘Follow Song Position’. Disabled automatically in Note REC mode.
  • :black_large_square: [ GO TO ROW 00 ]
    Jump playback cursor to the start of the current pattern.
  • :orange_square: [ NOTE OFF ]
    Send ‘All Notes Off’ (CC 123) to clear stuck MIDI notes.
  • :black_large_square: [ L ] / :orange_square: [ W ] (next to top CC boxes)
    Learn MIDI CC for specific transport function (Toggle ON/OFF).

:repeat_button: Topology

Renoise loop controls.

  • :orange_square: [ PATTERN LOOP ] / :black_large_square: [ PATTERN LOOP ]
    Toggle Renoise Pattern Loop.
  • :orange_square: [ SEQUENCE LOOP ] / :black_large_square: [ SEQUENCE LOOP ]
    Toggle Renoise Sequence Loop.
  • :orange_square: [ BLOCK LOOP ] / :black_large_square: [ BLOCK LOOP ]
    Toggle Renoise Block Loop.

:file_cabinet: Global Batch Actions (The “ALL” Bar)

Bulk switches located in the separator bar just above the Hydra list.

  • :black_large_square: [ ALL REC ON ]
    Set all Hydra rows to REC ON (Armed for recording).
  • :black_large_square: [ Ø ] (next to ALL REC ON)
    Set all Hydra rows to REC OFF.
  • :black_large_square: [ ALL STICK ]
    Set all Hydra rows to STICKY latch mode.
  • :black_large_square: [ Ø ] (next to ALL STICK)
    Set all Hydra rows to default LATCH mode.
  • :black_large_square: [ ALL ↩ ON ]
    Enable ‘Auto-show graph on fader move’ for all Hydras.
  • :black_large_square: [ Ø ] (next to ALL :right_arrow_curving_left: ON)
    Disable ‘Auto-show graph’ for all Hydras.
  • :black_large_square: [ ALL IRON ON ]
    Enable IRON smoothing algorithm for all Hydras.
  • :black_large_square: [ Ø ] (next to ALL IRON ON)
    Disable IRON smoothing algorithm for all Hydras.

:level_slider: Per-Hydra Row Controls

Controls located within each individual discovered Hydra row.

  • :red_square: [ REC ON ] / :black_large_square: [ REC OFF ]
    Enable or disable recording for this specific Hydra device.
  • :black_large_square: [ L ] / :orange_square: [ W ] (next to each CC box)
    Learn MIDI CC for REC toggle, LATCH trigger, or main Encoder control.
  • :black_large_square: [ LATCH ] / :orange_square: [ STICKY ] / :yellow_square: [ ARM ON ] / :brown_square: [ LEAVE ]
    Multi-state button showing current recording intent. LATCH: Hold to write, release to return to track automation. STICKY: Punch-in and hold value.
  • :black_large_square: [ ◄◄◄ ]
    Immediately open and show this Hydra’s automation graph in the pattern editor.
  • :orange_square: [ ↩ ] / :black_large_square: [ ↩ ]
    Auto-show graph on fader move (ON / OFF toggle).
  • :brown_square: [ IRON ON ] / :black_large_square: [ IRON OFF ]
    Enable or disable the subframe IRON smoothing algorithm for this Hydra.
Change log to v7.94

:scroll: 8. COMPLETE CHANGELOG

:wrench: HYDRA SANITY – CHANGELOG v7.94 functional Renoise handler in engine Hydra Sanity , color upgrade for text of HYDRA name and select graph for HYDRA automation
:wrench: HYDRA SANITY – CHANGELOG (v7.84 → v7.93)
:control_knobs: CORE ENGINE & MODES
:check_mark: Introduced ZORGAN REC MODE (zorgan_rec_mode)
enables full REC logic in “REC PLAY Automation” (without edit_mode)

:check_mark: Unified condition:

is_zorgan_rec_play()
:check_mark: Fixed transitions between:
REC PLAY NOTE & AUTO
REC PLAY AUTOMATION
SAFE PLAY / PLAY
:level_slider: LATCH / STICKY LOGIC (FINALIZED)
:check_mark: Fixed intent prioritization (LATCH vs STICKY)
:check_mark: Added state:
sticky_release_pending
:check_mark: Fixed behavior:
STICKY → click → waits for fader release
:check_mark: Eliminated STICKY ↔ ARM ON cycling
:check_mark: Correct behavior:
holding fader → LEAVE state
release → LATCH
:control_knobs: AUTO SHOW GRAPH (:right_arrow_curving_left:)
:check_mark: New feature:
auto-switch to automation graph on fader movement
:check_mark: Anti-spam mechanism:
auto_show_graph_locked
:check_mark: FIX:
unlock works in STOP/PAUSE (idle fallback)
:check_mark: Stable repeated behavior
:bullseye: GRAPH SELECTION SYSTEM

:check_mark: Introduced new state:

selected_graph_dk
:check_mark: Arrow buttons (◄◄◄) now follow selection, not MIDI_INC
:check_mark: Fixed:
multiple orange arrows issue
only one active Hydra at a time
:check_mark: Fader movement can reclaim graph selection
:artist_palette: GUI & UX
:check_mark: Improved HYDRA name readability
:check_mark: Active Hydra:
highlighted in light yellow (selected graph)
:check_mark: New state:
LEAVE (darker orange)
:check_mark: Overall improved visual feedback
:nut_and_bolt: IRON SYSTEM (SMOOTHING ENGINE)

:check_mark: Added per-Hydra toggle:

iron_enabled[dk]
:check_mark: Default:
new Hydras = ON
:check_mark: Persisted in song data
:check_mark: Active only in:
REC PLAY NOTE & AUTO
REC PLAY AUTOMATION
:check_mark: Decoupled from runtime “IRON” state
:radio_button: AUTO ENTER (:right_arrow_curving_left:) TOGGLE

:check_mark: Per-Hydra toggle:

auto_show_graph_enabled
:check_mark: Persistent
:check_mark: Works even when REC is OFF
:brain: ENGINE STABILITY
:check_mark: GUI refactor:
resolved Lua 60 upvalues limit
introduced helper functions (clean architecture)
:check_mark: Clear separation:
runtime state vs GUI state vs feature flags
:check_mark: Stabilized:
MIDI input handling
release detection
idle processing
:level_slider: GLOBAL CONTROL BAR (HEADER)
:check_mark: Added ALL control blocks:
ALL REC ON / Ø
ALL STICK / Ø
ALL :right_arrow_curving_left: ON / Ø
ALL IRON ON / Ø
:check_mark: Hard overwrite for all Hydras
:check_mark: Mini buttons Ø = OFF
:check_mark: Persistent states preserved outside REC
:bar_chart: VOLUME METER FIX
:check_mark: Red color only during real input activity
:check_mark: Fixed:
no longer stuck in STOP/PAUSE
:check_mark: Improved link to last_input_time
:high_voltage: PERFORMANCE & ENGINE
:check_mark: Preserved:
micro-buffering
sparse writer
subframe smoothing
:check_mark: IRON optimized:
adaptive smoothing
bypass when OFF
:chequered_flag: VERSION STATUS

:check_mark: Stable
:check_mark: Consistent UX
:check_mark: Clean separation of logic (GUI / ENGINE / STATE)
:check_mark: Ready for further expansion

VS.

Ooook, man. Lots of updates, feels a bit like spamming already… IMHO.

Hey everyone!

I’m really excited to announce the release of HYDRA SANITY v7.99 (The Apex Engine), which is now available on the Renoise Tools page.

If you use physical MIDI controllers (especially endless relative encoders or fast faders) to write automation, you might have noticed that at higher speeds, native automation can get jagged, cluttered with points, or suffer from harsh jumps when you try to punch-in.

What is Hydra Sanity? Think of it as real-time “middleware” between your MIDI controller and Renoise. It transforms Renoise into a fully-fledged production mixing console. It analyzes your physical movements, calculates momentum, and writes perfectly clean automation curves using sub-frame Bezier smoothing. Most importantly, it introduces professional studio recording behaviors: Touch Punch-In, ARM, LATCH, and STICKY modes. No more destroying existing curves by accident!

What’s New in v7.99 (The UI & Logic Polish Update)? This version heavily focuses on live performance reliability and workflow speed:

  • PERF / SETUP Modes: A new global toggle lets you switch between a deep MIDI routing setup view and a completely clean, distraction-free “Performance Mode” for when you are playing live.

  • Smart “ALL STICKY” Logic: Hitting the global ALL STICK button no longer forces everything into record mode immediately. Instead, it intelligently arms all your selected Hydras. They will patiently wait for you to physically touch the fader or start playback before they snap into action.

  • Color-Coded Topology: The Loop controls (Pattern, Sequence, Block) now feature distinct, highly visible colors (Gold, Blue, Green). It is now impossible to get confused about what loop is active, even in a dark club environment.

  • Solid Pause States: The UI feedback is now bulletproof. If you arm a track, the indicator blinks during playback, but glows a solid, reassuring color when the transport is stopped so you always know your exact status.

  • Unified Engine Controls: Emergency buttons like NOTE OFF have been relocated to the top global bar next to PANIC for perfect symmetry and instant access.

  • Perfected “IRON” Smoothing: The underlying math for ironing/smoothing existing curves has been completely refactored and locked to optimal production values. It just works.

You can grab the tool from the official Renoise tools page here: HYDRA AUTOMATION GRAPH SANITY

I’d love to hear your feedback, especially if you use it in a live electronic setup! Let me know what you think. :dragon:

Just a quick personal note: I’ve poured dozens and dozens of hours into developing this tool, and I feel I’ve finally reached a point where the utility is in a truly great, stable state. I believe it’s only common courtesy to keep the community informed about the ongoing development, which is exactly why this thread exists. If this tool isn’t your cup of tea, you can absolutely just skip this post and ignore it. But for those of you who have already tried the tool and are following its journey, this is the exact information that belongs right here.

1 Like

Changelog: HYDRA SANITY v8.00 THE APEX ENGINE

  • v8.00 (The MCU Integration Update):
    • Mackie Control Universal (MCU) Protocol: Introduced full structural support for the MCU protocol via a dedicated GUI toggle.
    • Note Message Button Mapping: Transport, Latch, and Rec Toggle buttons can now natively map to Note On/Off messages. The engine dynamically stores the message type (msg_kind), entirely eliminating the historical collision between identical CC and Note values.
    • Strict Sign-Magnitude Decoder: In MCU Mode, relative V-Pots utilize a mathematically pure Sign-Magnitude decoder, ensuring perfectly smooth and responsive fader movements without jitter.
    • Dynamic Feedback Routing: MIDI feedback sync no longer forces output on CC channel 1, and instead dynamically utilizes the exact status byte of the incoming device.
    • UI Reorganization: The MCU MODE and MIDI ENC toggles are now exclusively visible in MODE: SETUP, keeping the MODE: PERF cockpit completely clean and distraction-free.

Change Log FIX for 8.01

  • Added proper MIDI decoder support in MCU mode.
    Relative encoder input now works correctly even when MCU mode is enabled, so decoder-driven automation can be used without losing MCU workflow compatibility.

  • Added new LINKING TO GRAPH button in SETUP mode.
    This button is available only when MIDI DEC mode is active.

  • Implemented graph-linked decoder start behavior.
    In MIDI DEC mode, encoder writing now starts from the current automation graph position instead of the last stored fader position.

  • Added backward graph lookup for missing start points.
    If there is no automation point exactly on the current line, the tool now searches backward and uses the last existing graph point as the starting value.

  • Added safe fallback logic.
    If no automation point exists in the graph, the tool falls back to the current encoder position, preventing unwanted jumps or invalid overwrite behavior.

  • Added persistent storage for the new option.
    The LINKING TO GRAPH state is now saved and restored with the song/tool data.

  • Updated GUI behavior for clarity.
    The new button is automatically greyed out and disabled outside of MIDI DEC mode.

Change Log — crystal_clean_rescan_checked.lua

  • Fixed incomplete RESCAN reinitialization when new HYDRA devices are added during runtime.

  • Updated RESCAN to rebuild HYDRA runtime state more reliably, closer to a soft engine restart.

  • Added full runtime reset coverage for newly detected HYDRA instances after rescanning.

  • Ensured internal write/playback state is properly refreshed after RESCAN, preventing stale state from surviving topology changes.

  • Fixed propagation of internal states required by:

    • IRON

    • automation write engine

    • latch/sticky runtime behavior

    • MCU LED feedback logic

  • Added cleanup of outdated graph selection state when the previously selected HYDRA slot no longer exists after rescanning.

  • Added song-state save after successful RESCAN, so refreshed device topology is persisted immediately.

MUTE / UNMUTE / SOLO MIDI Mapping

  • Added new MUTE / UNMUTE / SOLO MIDI mapping for each HYDRA slot.

  • The new mapping is available in SETUP mode and is intended for MIDI button control only.

  • Short button press toggles MUTE / UNMUTE for the assigned Renoise track.

  • Long button hold (1 second) toggles SOLO / UNSOLO for the assigned Renoise track.

  • Added effective track-state handling so HYDRA can reflect real mute behavior even when solo logic affects other tracks.

LED Feedback Functions

  • Added extended MCU LED feedback support for HYDRA buttons and encoder rings.

  • Encoder rings now reflect current HYDRA value state in MCU mode.

  • Added IRON heartbeat feedback on the encoder ring.

  • The heartbeat follows the approved blinking rule and now remains visually usable without depending only on the center LED.

  • Center LED support for IRON is still kept in the code for compatibility with controllers that support it.

  • Added MCU Spread mode feedback for effective track mute states.

  • Muted HYDRA tracks are shown with Spread mode on the encoder ring instead of turning the LEDs fully off.

  • This avoids visual confusion with inactive, unassigned, or non-selected HYDRA slots.

  • No dedicated SOLO LED mode is used.

  • Instead, SOLO is reflected indirectly through the effective mute state of the other HYDRA slots.

  • Added more reliable LED state refresh after runtime changes, including setup changes, mute changes, solo changes, and rescan events.

Resolved issue

  • Fixed a case where adding a new HYDRA and using RESCAN did not fully activate all required internal variables.

  • This could cause features such as IRON to appear inactive until the tool was manually restarted.

Practical result

  • New HYDRA devices are now initialized correctly after RESCAN without requiring a full tool restart.

  • Runtime behavior after rescanning is now more stable and consistent with normal startup initialization.

  • HYDRA track mute and solo control can now be performed directly from a dedicated mapped MIDI button.

  • MCU LED feedback is now more informative, more stable, and better aligned with real HYDRA and track state.

Changelog — HYDRA SANITY v8.03

Added

  • Automatic HYDRA rescan

    • Newly inserted HYDRA devices are detected automatically without needing a manual rescan button.

    • This keeps the HYDRA list aligned with track/device order, so a newly added HYDRA appears in the correct position between existing ones.

  • FOLLOW ON/OFF moved to the first position in the transport row

    • Makes navigation and playback-follow behavior faster to access during performance and recording.
  • FOLLOW now works inside REC PLAY NOTE & Automation

    • You can keep visual follow active even while recording notes and automation, which improves orientation during live workflow.
  • Setup grouping for REC ON mapping

    • Added visual bracket grouping around the REC ON mapping block:

      • [ REC ON CC#: ... L ]
    • This makes it immediately clear which MIDI CC and Learn button belong to REC ON.

  • Setup grouping for LATCH mapping

    • Added visual bracket grouping around the LATCH mapping block:

      • [ CC#: ... L LATCH ]
    • This improves readability in Setup mode and makes the mapping relationship obvious.

  • INPUT HYDRA MIDI CC#: label

    • Renamed the input mapping label for better clarity.

    • This makes it clear that the displayed CC belongs to the incoming MIDI control for that HYDRA lane.

  • SOLO / MUTE state text in each HYDRA row

    • Added visible state text next to the small enter-style button.

    • SOLO and MUTE now show directly in the HYDRA row so track status is readable without needing to inspect Renoise mixer state.

  • DEL NOTE TRACK PATTERN button

    • Added a dedicated button to delete note data in the currently selected track within the current pattern.

    • After execution, it automatically jumps back to Row 00, so you can immediately restart playback or recording from the beginning.

Changed

  • Active transport mode buttons now use the performance orange highlight

    • Applies to:

      • REC PLAY NOTE AUTOMATION

      • REC PLAY AUTOMATION

      • PLAY safe

    • This makes the currently active mode much easier to recognize during performance.

  • Pause state uses a darker orange

    • Active pause-style transport states are now visually separated from normal active mode states.

    • This improves readability when switching live between play-based modes.

  • HYDRA row separator line extended

    • The divider line now reaches under the IRON area.

    • This gives each HYDRA row a cleaner and more complete visual boundary.

  • Pure PLAY lock visualization for REC ON

    • When pure PLAY mode does not allow arming, REC ON is shown greyed out.

    • This makes it obvious that the control is currently unavailable.

  • Pure PLAY lock visualization for ALL REC ON

    • ALL REC ON is also greyed out when arming is not allowed in pure PLAY mode.

    • This keeps the global control consistent with the per-HYDRA arming rules.

Improved

  • No-flicker GUI behavior during ARM ON, STICK, and REC ON/OFF transitions

    • HYDRA rows no longer flash temporary zero-state volume meters during state transitions.

    • This gives a much cleaner and more stable performance display.

  • Lightweight row refresh instead of full GUI redraw

    • HYDRA row states now refresh directly without rebuilding the entire interface.

    • This improves responsiveness and keeps meters and state labels stable.

  • Immediate GUI update for REC ON / REC OFF

    • Button text and color now update correctly after mouse click or MIDI trigger.

    • This keeps visual arming state synchronized with the actual engine state.

  • Immediate GUI update for MUTE, SOLO, and volume meter status

    • HYDRA row display now reflects mute/solo state changes correctly and in real time.
  • Correct SOLO indication

    • SOLO is now shown only where it actually belongs, instead of appearing on all HYDRA rows.

    • This makes solo status trustworthy in complex routing situations.

  • Improved MUTE text visibility

    • MUTE text is brighter and easier to read against the dark interface.
  • Mode switching between REC PLAY NOTE AUTOMATION, REC PLAY AUTOMATION, and PLAY safe no longer forces unnecessary pause

    • If playback is already running, switching to another play-based mode keeps playback running.

    • This enables smooth live transitions between playback modes without interrupting flow.

  • GO TO ROW 00 behavior improved for record-play modes

    • Starting from Row 00 now respects the intended playback start more reliably, including the first pattern line.
  • Default startup behavior now enables allow autoswitche all

    • This makes automatic graph switching available immediately after engine start.

    • It prioritizes the faster and more convenient workflow by default.

  • IRON startup behavior synchronized more reliably

    • IRON state now initializes more consistently after engine start, so the displayed status better matches the actual active state.

Next goal in next version: implementing a preset color scheme in Renoise

2 Likes

https://media2.giphy.com/media/v1.Y2lkPTc5MGI3NjExbWdqcXZpdjc2dnphMTFsbTJoczhtOHh4cTF2dXV4OGpxeTN3bG5zdiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/lXu72d4iKwqek/giphy.gif

I’m too dumb for this, I hate to admit :smiley: I just make happy 4x4 house beats like it’s 1997

1 Like

Controlling recording and note writing together with HYDRA is more comfortable and intuitive for live production, because the key controls are concentrated in one place and you do not have to constantly split your attention across different parts of the workflow. This makes the creative process faster, clearer, and more natural in the moment. At first glance, the system may seem demanding to control, but that is mostly just a first impression — after a short time, it starts to feel very logical. The application is also being continuously improved.

1 Like

HYDRA SANITY v8.04 – Short Change Log

  • Added direct dual MIDI I/O in SETUP: MIDI IN 1, MIDI IN 2, MIDI OUT 1, MIDI OUT 2, plus per-input channel separation.

  • Moved studio-wide MIDI settings to preferences.xml: ports, channels, MIDI ENC / MIDI DEC, MCU MODE, and LINKING TO GRAPH.

  • Added legacy MIDI migration from older song data into the new global preferences model.

  • Reworked the UI into a compact one-line HYDRA workflow in PERF and cleaner grouped mapping blocks in SETUP.

  • Removed the old auto-show toggles and made smart graph focus part of the default workflow.

  • Added retry-safe graph focus when a brand-new Hydra automation lane must be created first.

  • Rebuilt the compact LCD volume meter for a stable fixed-width layout with live hardware position overlay.

  • Fixed engine stop/start stability by repairing notifier cleanup after reloads.

  • Fixed engine first start with load preference data stability. And save data stability.

Change log : version raised to v8.06

  1. DEL NOTE TRACK PATTERN documented as a dedicated SETUP MIDI Learn transport control
  2. SETUP readability notes updated with the numeric field width refinements
  3. transport section updated so the learn workflow is described consistently
  4. changelog extended with v8.05 and a brief v8.06 public-facing note
  5. internal/debug graph-fix details were left out as requested

Change log : version raised to v8.07 HYDRA SANIT

* Added a dedicated `ROLE` selector for each `MIDI OUT` slot in `MODE: SETUP`, allowing each output to run as `BOTH`, `THRU`, `FB`, or `OFF`.
* This makes dual-port routing more flexible, especially when one port should be used only for LED/ring feedback while another should carry normal MIDI passthrough.
* Fixed a visual-state bug where `IRON` activity on the first HYDRA row could appear inactive while the row was also the currently selected graph.
* IRON monitor priority is now higher than the selected-graph standby view, so active IRON processing remains visible in `REC ON`.
* Improved IRON button feedback to reflect the real runtime-active IRON state, not only the stored enable flag.

BIG FIX BUG in version 8.08 …

  1. The error crept into the logic. tool kept calling track active HYDRA graph and messing with Renoise. This has been resolved in this update.

v8.09

  • Fixed ARM/LATCH sync when triggering a different HYDRA row via MIDI encoder.

  • First encoder touch now also switches the selected HYDRA and updates graph focus correctly.

  • Improved reliability of live HYDRA target switching during recording/control.

Version 8.11 support Fader Absolut in mode MIDI DECODER + MCU, or only DECODER
Procedure when I want to activate the fader in MIDI DECODER mode:
I click on the MODE button: SETUP – it switches to MODE: PERFORMANCE mode:… I use MIDI DECODER and I can have MCU mode turned on because I want the LED indicators to work … I set the same MIDI Controller in MIDI IN and OUT, for example X-TOUCH MINI, for MIDI OUT I set FB = feed back controll (when you hover the mouse over "ROLE: ", a help text always appears. Then I can set for my HYDRA MIDI button to activate REC ON, midi button for MUTE/SOLO / ON, for the INPUT HYDRA button (decoder, fader) …
I continue, I find the HYDRA line where I want to set the FADER … at the end of the line for INPUT MIDI CC# with the value -1 = unset value for the HYDRA INPUT fader … I will see the DEC button (preset for decoder) >> I click on it and it switches to FA = fader absolute … now I can click on L = MIDI LEARN … and move the FADER, its MIDI CC# will be written. <<< you have the absolute fader set in MIDI DECODER mode.

MIDI channel does not need to be set manually anymore, in the new version I have already implemented that when LEARN it will also remember the MIDI channel for each button, encoder, coder, pitchband. Because Behringer X-TOUCH in MCU mode sends decoders to midi channel 1 and sets the fader as pitchband to channel 9 with MIDI CC# 128… HYDRA SANITY takes care of that when setting it up, you don’t have to deal with it.

Important detail:

older mappings without a saved channel remain compatible, but act as wildcardsso if you have the same CC number on multiple channels, it’s better to relearn those older maps once

2 row HYDRA

support too FADER in mode pitchbend
I have integrated full native support for Pitch Bend (14-bit fader resolution)

the result of the correct setting .. if pitch bend fader … clasic fader is without PB.

2026-04-20 01_52_27-Zorgan _ HYDRA SANITY v8.11 FA support in MIDI DEC

Interesting note: Did you know that Renoise HYDRA can also map BMP from the Master Track… a good recommendation is to map it to the fader of the X-TOUCHE midi controller… you can dynamically change the speed of your song directly from the automation graph… smooth the waveform with IRON.

HYDRA SANITY MODE : SETUP

HYDRA SANITY MODE : PERFORMANCE

HYDRA SANITY (v8.11 FA + PB stable)

Public changelog

  • Added a stable FA workflow for absolute faders inside MIDI DEC.
  • Added Pitch Bend support for HYDRA input learning and runtime matching.
  • MIDI Learn now listens on all MIDI channels and stores the real channel used by each control.
  • Runtime input matching now uses message type + MIDI channel + control identity per mapping.
  • Removed the practical need for a single global MIDI IN channel in the mapping workflow.
  • Improved compatibility with MCU master faders that transmit as Pitch Bend.
  • Returning the HYDRA input field to -1 now cleanly resets FA / Pitch Bend state and returns the row to the default DEC state.
  • Fixed GUI rebuild timing during input editing to avoid crashes when changing input values rapidly.
  • Automatic graph switching is enabled by default again and now works reliably during PLAY movement.
  • STICK no longer keeps trapping the user inside the same graph window after the intended auto-switch moment.
  • HYDRA can now be used to control BPM from the master-channel input path.

README coverage

The README for this release also documents:

  • all-channel MIDI learn behavior
  • FA / Pitch Bend setup steps in MIDI DEC mode
  • mixed-channel controller workflows
  • BPM input support from the master channel

How it works SAVE preset MIDI Mapping and MIDI device select now in 8.13

In short, you don’t have to worry, each song carries its own preset after saving.

In the code it is divided like this:

  • global / studio MIDI setup is kept in preferences.xml, not in the song

    per-song HYDRA mappings and states are kept in song.tool_data

    And when loading a new song, the song-scoped data is first cleaned so that nothing is dragged from the previous song. That is explicitly commented there.

    Moreover, during rescan, the current HYDRAs in the new song are found again according to the position T%d_D%d and then save_to_song() is called again. So the state is overwritten according to the currently existing HYDRAs in the currently open song.

    What does this mean in practice

    If you do:

    Song A → has some HYDRAs and their mappings

    Song B → has other HYDRAs

then:

  1. Song A carries its HYDRA maps

They are stored in that specific .xrns via song.tool_data.

  1. Song B carries its HYDRA maps separately

When opened, the old song maps are cleared and the maps of the new song are loaded. It is not carried over blindly from the previous song.

  1. But the global MIDI setup remains common

So for example:

MIDI IN/OUT devices
output role
MIDI channels
abs encoder mode
MCU mode
link decoder to graph

this is global for the tool, not for an individual song.

For correct behavior of HYDRA SANITY: The basis is to have tracks, instruments written at least 1 note in the track, so that Renoise maps which track uses which instrument. Then HYDRA SANITY already knows where to switch TRACK when selecting a HYDRA line.
You can then safely record notes, even the automation graph.

in version 8.14 I had to solve the last bug, perhaps with the behavior of function calls during recording.
v8.14

  • Added alternating HYDRA row backgrounds for clearer visual separation in the GUI.

  • Fixed Sequence Loop wrap behavior in REC PLAY modes.

  • STICKY now correctly re-arms to ARM ON after loop wrap.

  • LATCH now stays unchanged on loop wrap.

  • Existing ARM ON remains untouched.

    iLKke_Cableton color themes for Renoise

Dark Theme my

zrg-color-theme-settigs-26-04.xrnc (5.0 KB)

Marvelous and very creative use of Hydra. Downloaded immediately :saluting_face:

1 Like

Version 8.15 HYDRA SANITY

  • update hydra volume meter , change color and graphics.

I would be happy to hear about your experiences with the HYDRA SANITY engine. What you like and what you would like to see. Write here.

HYDRA SANITI v16
New: :alien_monster: Support for 3 MIDI IN - OUT controllers with LED response, MIDI passthrough, support MCU DECODER, Encoder endless, absolute fader
Added full triple direct MIDI I/O in SETUP: MIDI IN 1-3 and MIDI OUT 1-3.

  • Learn and runtime matching are now device-aware. HYDRA stores the real MIDI input slot together with message type and incoming channel.
  • Identical controllers with identical CC layouts can now stay separated reliably, as long as Renoise exposes them as distinct MIDI devices or routed ports.
  • Removed the manual per-device MIDI input channel selector from SETUP. Each MIDI IN slot now listens on all channels, which also keeps MCU Pitch Bend workflows clean.
  • HYDRA rows now show the learned source path as D# CH#, so device ownership and real incoming channel are visible directly in the row.
  • Fixed MIDI OUT routing. LED, ring, and state feedback no longer broadcast to every controller. Feedback now goes only to the correct output slot.
  • Output ROLE routing is now slot-correct: FB stays on the intended feedback device, THRU follows the originating device path, and PANIC still reaches all active output slots except OFF.

This is an example if you don’t have the money to spend on expensive MCU decoders, you buy 3 X-TOUCH MINIs and put them on top of each other, they will present TRACK 1-8 … and for each TRACK in Renoise you have 3 decoders = 3 HYDRA per TRACK …

In HYDRA SANITI tool, in MODE:SETUP, you see both the MIDI channel and MIDI device D1, D2, D3 for each HYDRA line.


if you manually enter MIDI CC# -1 the status will be set to not set